我有触摸板滚动的问题。这是我的网站的外观:单击。您可以使用向上/向下箭头、菜单和鼠标滚轮在此处导航。一切都很好,除了使用触摸板滚动。当你这样做时,它就像鼠标滚轮的几个滚动一样被解释。因此,您不会从顶部转到第二个屏幕,而是转到最后一个屏幕。我正在考虑它,我的解决方案是:
- 检测滚动方向
- 滚动到下一个/上一个屏幕
- 停止滚动
但我不知道如何“停止滚动”。谁能帮我?:)
我有触摸板滚动的问题。这是我的网站的外观:单击。您可以使用向上/向下箭头、菜单和鼠标滚轮在此处导航。一切都很好,除了使用触摸板滚动。当你这样做时,它就像鼠标滚轮的几个滚动一样被解释。因此,您不会从顶部转到第二个屏幕,而是转到最后一个屏幕。我正在考虑它,我的解决方案是:
但我不知道如何“停止滚动”。谁能帮我?:)
好的,我已经想出了如何做到这一点。也许这不是最好的方法,但它确实有效。编码:
scrollTimes ={
up : 0,
down : 0
};
$('body').bind('DOMMouseScroll', function(e){
if(e.originalEvent.detail > 0) {
scrollTimes.down++;
if(scrollTimes.down === 1 ) {
api.next(2000);
}
}
else {
scrollTimes.up++;
if(scrollTimes.up === 1 ) {
api.prev(2000);
}
}
setTimeout( function() { scrollTimes = { up : 0, down : 0};}, 2000);
return false;
});
$('body').bind('mousewheel', function(e){
if(e.originalEvent.wheelDelta < 0) {
scrollTimes.down++;
if(scrollTimes.down === 1 ) {
api.next(2000);
}
}
else {
scrollTimes.up++;
if(scrollTimes.up === 1 ) {
api.prev(2000);
}
}
setTimeout( function() { scrollTimes = { up : 0, down : 0};}, 2000);
return false;
});
我已将 setTimeout 中的时间设置为 2000,因为它是滚动到下一个/上一个屏幕的时间 :)