jQuery向下滚动,无法在移动设备

时间:2017-01-10 20:17:15

标签: javascript jquery mobile

我正在使用jQuery来检测用户何时向下或向上滚动鼠标滚轮。这是我的代码:

$(window).bind('mousewheel DOMMouseScroll', function(event){
    if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
        // scroll up
    }
    else {
        // scroll down
    }
});

我刚刚意识到这不适用于移动向上或向下滑动。有没有办法可以修改代码,以便它也可以在移动设备上运行?

2 个答案:

答案 0 :(得分:0)

你实际上可以使用jQuery滚动功能,并将最后一个滚动位置与当前滚动位置进行比较,如果用户向下滚动则向下滚动

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

对于手机,你有scrollstart和scrollstop,你没有向上或向下,所以你必须自己做:P

请检查:jQuery Mobile: Make the header hide on scroll down and show on scroll up

您有一个片段,可以根据需要轻松编辑!