检测滚动

时间:2016-01-04 12:20:04

标签: javascript jquery scroll

我可以使用JS或jQuery检测滚动运动吗?

我只是在用户滚动时,以及当他停止滚动div节目时试图隐藏div。

我试过了:

window.onscroll(function () {
  $('.footerGeral').hide();
});

然而它不起作用。

4 个答案:

答案 0 :(得分:1)

您可能希望使用scroll事件,如下所示:

window.addEventListener('scroll', function(evt) {});

现在,您可以检测用户使用evt.deltaXevt.deltaY滚动了多少像素,或者使用document.body.scrollTopdocument.body.scrollLeft完全滚动了多少像素。

答案 1 :(得分:0)

你几乎是对的,但它是.scroll()

$(window).scroll(function () {
  $('.footerGeral').hide();
});

你可以用纯JavaScript做到这一点:

window.onscroll = function () {
  document.querySelectorAll(".footerGeral")[0].style.display = 'none';
}

注意:仅当您拥有的内容超过视图时才有效。带有滚动条的页面。

答案 2 :(得分:0)

首先:它只适用于实际上有溢出内容(带滚动条)的情况。如果你只是滚动你就不会得到这个事件。

其次,原生语法是:

window.onscroll = function () {
  // Your code
};

jQuery方法是:

$(window).scroll(function () {
   // Your code
});

答案 3 :(得分:0)

您可以轻松地将Ben Alman的scroll()与来自jquery.ba-throttle-debounce.jsdebounce()结合使用。

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