您好有办法检查是否有办法检查鼠标滚轮事件的上下,而不检查上次滚动的位置。由于我已禁用滚动并使用了动画而不是滚动。
var currentTop = 0;
var scrolling = false;
var allowNextAnimation = true;
$('.contactDiv').on('scroll touchmove mousewheel', function(e){
if (!scrolling && allowNextAnimation) {
if (scrollTop)
currentTop = currentTop + 70;
else if (scrollDown)
currentTop = currentTop - 70;
scrolling = true;
$('.contactDiv').animate({
scrollTop: currentTop
}, 500, function(){
scrolling = false;
allowNextAnimation = false;
});
return false;
}
allowNextAnimation = true;
});
我需要一些方法来了解鼠标是否向上或向下滚动而不知道scrollTop在哪里。有什么建议吗?
答案 0 :(得分:0)
对于鼠标滚轮事件:
$('html, body').on('mousewheel MozMousePixelScroll', function (event) {
var delta = event.originalEvent.wheelDelta * -1
|| event.originalEvent.detail;
if(delta < 0){
console.log('scroll up');
} else {
console.log('scroll down');
}
});
如果中间容器到达顶部/底部并继续向上/向下滚动鼠标滚轮,则可以在jsFiddle上看到example阻止鼠标滚轮滚动300毫秒。在300毫秒不活动后,您可以滚动文档。
对于触摸事件跟踪pageY事件属性