检测滚动
Detect scrolling
我可以用JS或jQuery检测滚动移动吗?
我试图只在用户滚动时隐藏div,而当他停止滚动时,div会显示出来。
我试过了:
window.onscroll(function () {
$('.footerGeral').hide();
});
但是它不起作用。
你几乎是对的,但它是.scroll()
:
$(window).scroll(function () {
$('.footerGeral').hide();
});
你可以在纯JavaScript中这样做:
window.onscroll = function () {
document.querySelectorAll(".footerGeral")[0].style.display = 'none';
}
注意:只有当您有内容时,这才有效,而不仅仅是视图。带有滚动条的页面。
您可能想要使用scroll
事件,如下所示:
window.addEventListener('scroll', function(evt) {});
现在,您可以检测用户使用evt.deltaX
和evt.deltaY
滚动了多少像素,或者使用document.body.scrollTop
和document.body.scrollLeft
总共滚动了多少。
首先:只有当您的内容(带有滚动条)溢出时,它才有效。如果你只是滚动,你将不会得到事件。
第二,原生语法是:
window.onscroll = function () {
// Your code
};
jQuery方法是:
$(window).scroll(function () {
// Your code
});
您可以从Ben Alman的JQuery.ba-throttle-debounce.js中轻松地将JQuery scroll()
与debounce()
结合起来。
$(window).scroll($.debounce( 250, true, function(){
$('.footerGeral').hide(); //scrolling or scrolling stopped for less than 250 ms
}));
$(window).scroll($.debounce( 250, function(){
$('.footerGeral').show(); //scrolling stopped for more than 250 ms
}));
相关文章:
- 检测滚动意图
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- jQuery:如何检测用户何时再次滚动到顶部
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- 如何检测用户何时在主动滚动
- 如何检测用户是否移动了滚动条
- 检测垂直滚动和滚动条宽度,并将宽度更改应用于正文
- 检测可滚动元素内的滚动位置
- HTML5运动检测、抓取和滚动
- 检测触摸向上或向下滚动
- 滚动检测没有'调用新页面Javascript后无法工作
- 滚动后,检测元素何时返回到原始位置
- jquery检测用户何时滚动到列表顶部
- JS中的触摸板滚动检测,没有库
- 不连续滚动-检测用户是否停止滚动
- 如何检测iPhone上滚动页面的比例
- 通过用户滚动量进行检测
- iScroll页面当前正在滚动检测
- Ember JS中的滚动检测