我正在使用jQuery来检测用户何时向下或向上滚动鼠标滚轮。这是我的代码:
$(window).bind('mousewheel DOMMouseScroll', function(event){
if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
// scroll up
}
else {
// scroll down
}
});
我刚刚意识到这不适用于移动向上或向下滑动。有没有办法可以修改代码,以便它也可以在移动设备上运行?
答案 0 :(得分:0)
你实际上可以使用jQuery滚动功能,并将最后一个滚动位置与当前滚动位置进行比较,如果用户向下滚动则向下滚动
var last_pos= 0;
$(window).scroll(function () {
var current_pos= $(this).scrollTop();
if (current_pos > last_pos) {
alert('down');
} else {
alert('up');
}
last_pos = current_pos;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1><h1>test</h1>
&#13;
答案 1 :(得分:0)
对于手机,你有scrollstart和scrollstop,你没有向上或向下,所以你必须自己做:P
请检查:jQuery Mobile: Make the header hide on scroll down and show on scroll up
您有一个片段,可以根据需要轻松编辑!