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语句。您知道这并不能回答问题吗?如果他在触摸屏上滚动一个触摸事件会怎么样?这不是对问题的有效答案施蒂昂·伊姆霍