jQuery 簡單點
$(function(){
$(window).scroll(function(){
var t = $(window).scrollTop();
if(t>200){ $(".top").stop().fadeIn()}else{$(".top").stop().fadeOut();}
})$(".top").click(function(){$("body,html").stop().animate({scrollTop:0},1000); })
})
$(function(){
$(window).scroll(function(){
var t = $(window).scrollTop();
if(t>200){ $(".top").stop().fadeIn()}else{$(".top").stop().fadeOut();}
})$(".top").click(function(){$("body,html").stop().animate({scrollTop:0},1000); })
})
2016-08-26
記得要清空clearInterval, 如果點擊兩次返回頂部按鈕, 這時會創建兩個函數并執行他們,就有兩個interval, timer是全局變量, 所以timer的值是后一個interval ID,第一個interval是清除不了的, 已經被覆蓋, 所以第一個interval會永遠執行下去, 可以分別創建timer,就是把timer變成局部變量,放在onclick事件里. 但是這個時候timer就不是全局變量, Onscroll事件就會出錯. 這里的最好的方式是每次進入單擊事件,清空上一個timer,只執行這次interval, 防止其他的interval造成干擾
2016-08-25
這里 window.onscroll事件的目的,就是在使用鼠標上的滾動按鈕滾動頁面時停止interval, 這里用的方法是添加一個isTop,然后在你鼠標滾動的時候,就觸發window.onscroll,執行里面的函數, 由于頁面是一點點的滾動,函數會被執行多次, 這個時候就不會執行interval, 要把這里onscrll函數體執行完后才執行setinterval,但是在執行onscorll第二次的時候, !flage=true,清除interval,這個時候就不在向上滾動了
2016-08-25