1

我创建了一个事件,当用户使用鼠标小滚轮向下滚动时触发。但是用户通过向下拖动滚动条向下滚动会发生什么?

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

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

    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)
            }
    });

有什么建议么?

提前谢谢!

4

1 回答 1

1

而不是绑定到 icky 浏览器特定的事件,使用scroll

var lastScroll = 0;

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

         lastScroll = window.pageYOffset;
    }
});

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

于 2013-10-12T21:19:25.450 回答