检测用户向下滚动或向上滚动jQuery

Ste*_*ffi 32 jquery events scroll bind

可能重复:
区分jquery中的向上/向下滚动?

是否可以检测用户是向下滚动还是向上滚动?

示例:

$(window).scroll(function(){

    // IF USER SCROLL DOWN 
           DO ACTION

    // IF USER SCROLL UP 
           DO ANOTHER ACTION

});
Run Code Online (Sandbox Code Playgroud)

谢谢

Jor*_*ijn 47

要区分jQuery中的向上/向下滚动,您可以使用:

var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x
$('#yourDiv').bind(mousewheelevt, function(e){

    var evt = window.event || e //equalize event object     
    evt = evt.originalEvent ? evt.originalEvent : evt; //convert to originalEvent if possible               
    var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta //check for detail first, because it is used by Opera and FF

    if(delta > 0) {
        //scroll up
    }
    else{
        //scroll down
    }   
});
Run Code Online (Sandbox Code Playgroud)

此方法也适用于具有的div overflow:hidden.

我在FireFox,IE和Chrome中成功测试了它.


归档时间:

查看次数:

150270 次

最近记录:

9 年,7 月 前