首頁 > web前端 > js教程 > 如何在沒有 jQuery 的情況下確定 JavaScript 中的滾動方向?

如何在沒有 jQuery 的情況下確定 JavaScript 中的滾動方向?

Susan Sarandon
發布: 2024-10-28 08:33:30
原創
712 人瀏覽過

How Can You Determine Scroll Direction in JavaScript Without jQuery?

不使用jQuery 檢測滾動方向

在Web 開發中,檢測滾動方向對於實現無限滾動或折疊等功能非常有用工具列。雖然像 jQuery 這樣的函式庫提供了簡單的解決方案,但讓我們探索如何在不使用它們的情況下實現這一點。

要確定捲動方向,我們可以追蹤先前的捲動位置(scrollTop 或 pageYOffset)並將其與目前捲動進行比較位置。這種差異表明我們是向上還是向下滾動。

以下是示範此方法的 JavaScript 片段:

<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(){ 
   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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板