我有一些代碼應該滾動一個頁面高度每次滾動觸發某種方式。我希望這隻能滾動一個高度,並且「暫停」觸發器直到滾動完成。但是,我的腳本不會停下來,而是會立即滾動。滾動向上似乎更好地工作......滾動jQuery
這裏是我的腳本:
var lastScroll = 0;
var scrollPos = 0;
var blockScroll = 0;
$(window).scroll(function() {
var scroll = $(this).scrollTop();
if(blockScroll == 0) {
blockScroll = 1;
if(scroll > lastScroll){
// Down
scrollPos++;
console.log(scrollPos+"-"+blockScroll);
$("html, body").animate({scrollTop:$(window).height()*scrollPos}, 'slow', function() {
blockScroll = 0;
});
} else {
// Up
scrollPos--;
console.log(scrollPos);
$("html, body").animate({scrollTop:$(window).height()*scrollPos}, 'slow', function() {
blockScroll = 0;
});
}
}
lastScroll = scroll;
});
blockScroll是指當滾動事件似乎設置,並且滾動動畫停止時被取消設置。作爲鎖。我不是很舒服,雖然我想要這樣做,但是...有人可以看到明顯的錯誤嗎?我有麻煩的事實,即jQuery是異步?
的vaiable'lastScroll'不被任何定義 – 2015-02-10 14:28:45
我不小心刪除了,將它添加! – theva 2015-02-10 17:22:51