我想拖延頁面滾動,所以如果我把一些動畫,它不會毀了。這裏是我的代碼:jQuery Scroll Timeout
var lastScrollY = 0,
delayFlag = true,
delayTime = 1000;
$(window).on('scroll', function(e) {
if(delayFlag == true) {
delayFlag = false;
var posY = $(this).scrollTop(),
sectionH = $('.page').height(),
multiplier = (Math.round(lastScrollY/sectionH));
if(lastScrollY > posY) {
$(window).scrollTop((multiplier - 1) * sectionH);
}
else {
$(window).scrollTop((multiplier + 1) * sectionH);
}
lastScrollY = posY;
setTimeout(function() { delayFlag = true }, delayTime);
}
else {
e.preventDefault();
}
});
jQuery preventDefault()
不起作用。有什麼辦法可以讓滾動事件延遲一些嗎?
在學術上來講,這是一個有趣題。然而,用戶體驗用語是一個狡猾的領域。不應該重寫用戶期望的交互而沒有真正的理由。如果像滾動這樣的基本功能在他們到達時停止工作,用戶開始將您的應用程序/網頁視爲「buggy」和「難以使用」。 –