我使用scrollTop和jquery上的鼠标轮调整来浏览我的网站,问题是:它可以用真正的鼠标工作(不是那么糟糕):你必须滚动一个刻度才能进入网站的第二部分如果滚动2个凹槽,则转到第3页等。 因此,当有人使用笔记本电脑滚动时,它似乎非常错误:它直接进入网站的最后一页。
我想知道在用户停止滚动之前如何捕捉几个卷轴的凹槽。正是在这个页面上:neverbland.com
这是我的:knmprod.com/knmprod
答案 0 :(得分:0)
每次获得鼠标滚轮事件时设置一个计时器,每次获得另一个事件时取消第一个事件。
只有在您停止获取事件一段时间(比如.5秒)后才会触发您的操作。
var timer, longTimer = false, delta;
$('.page').bind('mousewheel', function(e, localDelta) {
if(!longTimer) longTimer = setInterval(action, 1500);
clearInterval(timer);
timer = setInterval(action, 500);
delta = localDelta;
}
function action() {
clearInterval(timer);
clearInterval(longTimer);
longTimer = false;
if(delta<0) {
number=plusone(number);
goToByScroll(number);
} else {
number= minusone(number);
goToByScroll(number);
}
}
答案 1 :(得分:0)
你可以使用mousewheel plugin和一个计时器检查车轮何时没有移动几毫秒 - 比如250 - 然后执行页面更改。这将允许每个鼠标移动单页更改,无论鼠标的速度或类型如何 - 与neverbland.com相同:
$('body').mousewheel(function() {
clearTimeout($(this).data('timer'));
$(this).data('timer', setTimeout(function() {
alert('Change Page');
}, 250));
});
我希望这有帮助!
答案 2 :(得分:0)