Bagaimana untuk Mengesan Arah Tatal dalam JavaScript Tanpa jQuery?

Linda Hamilton
Lepaskan: 2024-10-29 12:05:29
asal
317 orang telah melayarinya

How to Detect Scroll Direction in JavaScript Without jQuery?

Mengesan Arah Tatal Tanpa jQuery

Menentukan arah tatal adalah penting untuk meningkatkan pengalaman pengguna. Walaupun jQuery memudahkan tugas ini, adalah mungkin untuk mencapai kefungsian yang serupa menggunakan JavaScript vanila.

Memahami Isu

Kod yang disediakan cuba mengesan arah tatal dengan membandingkan skrolTop semasa nilai kepada sifar. Walau bagaimanapun, pendekatan ini adalah cacat kerana ia menganggap tatal sentiasa bermula dari sifar. Pada hakikatnya, kedudukan tatal boleh menjadi sebarang nilai.

Mengesan Arah Tatal Secara Manual

Kunci untuk mengesan arah tatal ialah menyimpan nilai Tatal Atas sebelumnya dan membandingkannya dengan nilai semasa. Apabila nilai semasa lebih besar daripada nilai sebelumnya, tatal bergerak ke bawah. Sebaliknya, jika nilai semasa kurang daripada nilai sebelumnya, tatal akan bergerak ke atas.

Pelaksanaan

Coretan kod JavaScript berikut menunjukkan cara untuk mengesan arah tatal:

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

// Add event listener to the target element
element.addEventListener("scroll", function () {
  // Get the current scroll position
  var st = window.pageYOffset || document.documentElement.scrollTop;

  // Compare the current and previous scroll positions
  if (st > lastScrollTop) {
    // Downscroll code
  } else if (st < lastScrollTop) {
    // Upscroll code
  } else {
    // Horizontal scroll
  }

  // Update the lastScrollTop value
  lastScrollTop = st <= 0 ? 0 : st;
}, false);</code>
Salin selepas log masuk

Pastikan Keserasian

Kod ini harus berfungsi dalam kebanyakan penyemak imbas moden. Walau bagaimanapun, untuk keserasian ke belakang, adalah disyorkan untuk menggunakan sifat window.pageYOffset atau document.documentElement.scrollTop untuk mendapatkan kedudukan tatal. Selain itu, pembolehubah lastScrollTop hendaklah dimulakan kepada sifar untuk mengendalikan penatalan negatif atau penatalan pada peranti mudah alih.

Kesimpulan

Dengan menggunakan pendekatan yang diterangkan dalam artikel ini, anda boleh berkesan mengesan arah tatal menggunakan JavaScript vanila. Teknik ini amat berguna untuk melaksanakan ciri seperti memuatkan malas, menatal tanpa had dan menatal lancar.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Arah Tatal dalam JavaScript Tanpa jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!