Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 触摸板滚动jQuery的问题_Javascript_Jquery_Scroll_Touchpad - Fatal编程技术网

Javascript 触摸板滚动jQuery的问题

Javascript 触摸板滚动jQuery的问题,javascript,jquery,scroll,touchpad,Javascript,Jquery,Scroll,Touchpad,我有触摸板滚动的问题。这就是我的网站的外观:。您可以使用上/下箭头、菜单和鼠标滚轮在此处导航。除了使用触摸板滚动之外,一切都很好。当您这样做时,它的解释就像鼠标滚轮上的几个滚动条一样。因此,您不会从上一个屏幕转到第二个屏幕,而是转到最后一个屏幕。我在考虑,我的解决方案是: 检测滚动的方向 滚动到下一个/上一个屏幕 停止滚动 但我不知道如何“停止滚动”。有人能帮我吗?:) 好的,我已经知道怎么做了。也许这不是最好的方法,但它是有效的。守则: scrollTimes ={

我有触摸板滚动的问题。这就是我的网站的外观:。您可以使用上/下箭头、菜单和鼠标滚轮在此处导航。除了使用触摸板滚动之外,一切都很好。当您这样做时,它的解释就像鼠标滚轮上的几个滚动条一样。因此,您不会从上一个屏幕转到第二个屏幕,而是转到最后一个屏幕。我在考虑,我的解决方案是:

  • 检测滚动的方向
  • 滚动到下一个/上一个屏幕
  • 停止滚动

但我不知道如何“停止滚动”。有人能帮我吗?:)

好的,我已经知道怎么做了。也许这不是最好的方法,但它是有效的。守则:

        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;
        });
scrollTimes={
上升:0,,
下跌:0
};
$('body').bind('DOMMouseScroll',函数(e){
如果(e.originalEvent.detail>0){
scrollTimes.down++;
if(scrollTimes.down==1){
api.next(2000年);
}
}
否则{
scrollTimes.up++;
如果(scrollTimes.up==1){
api.prev(2000年);
}
}
setTimeout(函数(){scrollTimes={up:0,down:0};},2000);
返回false;
});
$('body').bind('mouseweell',函数(e){
如果(e.originalEvent.wheelDelta<0){
scrollTimes.down++;
if(scrollTimes.down==1){
api.next(2000年);
}
}
否则{
scrollTimes.up++;
如果(scrollTimes.up==1){
api.prev(2000年);
}
}
setTimeout(函数(){scrollTimes={up:0,down:0};},2000);
返回false;
});
我已将setTimeout中的时间设置为2000,因为这是滚动到下一个/上一个屏幕的时间:)