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,因为这是滚动到下一个/上一个屏幕的时间:)