我想拖延页面滚动,所以如果我把一些动画,它不会毁了。这里是我的代码: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”和“难以使用”。 –