首页  >  文章  >  web前端  >  如何在不使用 jQuery 的情况下使用 JavaScript 检测滚动方向?

如何在不使用 jQuery 的情况下使用 JavaScript 检测滚动方向?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-27 03:01:30624浏览

How can I detect scroll direction using JavaScript without jQuery?

检测滚动方向

利用 JavaScript 的滚动事件,无需 jQuery 即可确定滚动方向。

检测滚动方向

为了实现这一点,我们将存储先前的scrollTop 值并将其与当前的scrollTop 值进行比较。

<code class="javascript">var lastScrollTop = 0;

// element should be replaced with the actual target element on which you have applied scroll, use window in case of no target element.
element.addEventListener("scroll", function () { // or window.addEventListener("scroll"....
  var st = window.pageYOffset || document.documentElement.scrollTop; // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426"
  if (st > lastScrollTop) {
    // downscroll code
  } else if (st < lastScrollTop) {
    // upscroll code
  } // else was horizontal scroll
  lastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling
}, false);</code>

通过使用此方法,无需依赖第三方库,即可准确检测任意网页的滚动方向。

以上是如何在不使用 jQuery 的情况下使用 JavaScript 检测滚动方向?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn