使用滚动条确定用户滚动的时间

时间:2013-10-12 21:15:14

标签: javascript jquery scroll

我创建了一个事件,只要用户使用鼠标滚轮向下滚动就会触发。但是,用户在向下滚动滚动条会向下滚动?

我想通过向下拖动滚动条向下滚动时触发相同的事件,就像他使用鼠标滚轮向下滚动一样。

这就是我现在处理事情的方式:

    var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" 
    $(window).bind(mousewheelevt, function(e){

        var evt = window.event || e
        evt = evt.originalEvent ? evt.originalEvent : evt;
        var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta


        if(delta > 0) {
            // some code in the future if it's up
        }
        else{
        // some code if it's down (would like this block of code to be executed
           when the user draggs down the scrollbar)
            }
    });

有什么建议吗?

先谢谢你!

1 个答案:

答案 0 :(得分:1)

使用scroll

,而不是绑定到特定于浏览器的特定事件
var lastScroll = 0;

$(window).on({
    scroll: function() {
         if(window.pageYOffset > lastScroll) {
             // Scrolling down
         }

         lastScroll = window.pageYOffset;
    }
});

(如果你需要IE< 9支持,顺便说一下,它是document.documentElement.scrollTop。)