js/jq判断鼠标滚轮方向

js判断鼠标滚轮方向:

var scrollFunc = function (e) {  
        e = e || window.event;  
        if (e.wheelDelta) {  //判断浏览器IE,谷歌滑轮事件               
            if (e.wheelDelta > 0) { //当滑轮向上滚动时  
               //事件
            }  
            if (e.wheelDelta < 0) { //当滑轮向下滚动时  
                //事件 
            }  
        } else if (e.detail) {  //Firefox滑轮事件  
            if (e.detail> 0) { //当滑轮向上滚动时  
               //事件 
            }  
            if (e.detail< 0) { //当滑轮向下滚动时  
                //事件  
            }  
        }  
    }  
    //给页面绑定滑轮滚动事件  
    if (document.addEventListener) {//firefox  
        document.addEventListener('DOMMouseScroll', scrollFunc, false);  
    }  
    //滚动滑轮触发scrollFunc方法  //ie 谷歌  
    window.onmousewheel = document.onmousewheel = scrollFunc; 

jq看起来就很简单:

$(document).ready(function(){
            var p=0;t=0;
            $(window).scroll(function(e){
                p=$(this).scrollTop();
                if(t<=p){
                    console.log('下滚')
                }
                else{
                    console.log('上滚')
                }
                t = p;
            })
        })

但以上方法会在监听时调用多次,可以采用节流函数解决。
posted @ 2016-12-29 16:49  lisiyuan  阅读(10037)  评论(0编辑  收藏  举报