Javascript 确定用户何时使用滚动条向下滚动

Javascript 确定用户何时使用滚动条向下滚动,javascript,jquery,scroll,Javascript,Jquery,Scroll,我创建了一个事件,每当用户使用鼠标滚轮向下滚动时触发。但是,用户通过向下拖动滚动条向下滚动时会发生什么情况 当他向下滚动时,我想通过拖动滚动条触发相同的事件,就像他使用鼠标滚轮向下滚动一样 这就是我现在处理事情的方式: var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" $(window).bind(mousewheelevt, function

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

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

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

    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)
            }
    });
有什么建议吗


提前谢谢

使用
滚动
,而不是绑定到icky浏览器特定事件:

var lastScroll = 0;

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

         lastScroll = window.pageYOffset;
    }
});

(如果您需要IE而不是绑定到icky浏览器特定事件,请使用
滚动

var lastScroll = 0;

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

         lastScroll = window.pageYOffset;
    }
});

(如果您需要IE,为什么不将它绑定到
$(窗口)。在('scroll')
?我是否遗漏了什么?不知道,我没有用过它,因为我找不到一种方法来确定何时向下滚动。但现在我看到了一种方法,多亏了Minitech,为什么不将它绑定到
$(窗口)。在('scroll'))
?我遗漏了什么吗?不知道,我没有用过它,因为我找不到一种方法来确定何时向下滚动。但现在我看到了一种方法,多亏了Minitech,如果他向上滚动到页面顶部,然后又回到页面的末尾,会怎么样?当它无法检测到时,会有一些向下滚动的范围:我应该在哪里输入如果我想要IE<9支持,请点击这个
document.documentElement.scrollTop
。@kfirba:不,它也应该检测到。你应该点击
var yOffset=window.pageYOffset | document.documentElement.scrollTop;
然后点击
if(yOffset>lastScroll)
lastScroll=yOffset
。非常感谢!我刚刚注意到,用户每次滚动时都会分配
lastScroll
,无论是否出现if语句。您知道这并不能回答问题吗?如果他在触摸屏上滚动一个触摸事件会怎么样?这不是对问题的有效答案stion imhoAnd如果他向上滚动到页面顶部,然后又回到页面的末尾会怎么样?当它无法检测到时,会有一些向下滚动的范围:我应该在哪里注入这个
document.documentElement.scrollTop
如果我想要IE<9支持?@kfirba:不,它也应该检测到。你应该做
var yOffset=window.pageYOffset | | document.documentElement.scrollTop;
然后
if(yOffset>lastScroll)
lastScroll=yOffset
。非常感谢!我刚刚注意到,用户每次滚动时都会分配
lastScroll
,无论是否出现if语句。您知道这并不能回答问题吗?如果他在触摸屏上滚动一个触摸事件会怎么样?这不是对问题的有效答案施蒂昂·伊姆霍