Cara Membuat Div Melekit pada Tatal: Panduan untuk Kedudukan Tetap dan Pengendalian Acara?

Patricia Arquette
Lepaskan: 2024-11-03 07:15:02
asal
451 orang telah melayarinya

How to Make a Div Sticky on Scroll: A Guide to Fixed Positioning and Event Handling?

Div Melekit: Berpaut pada Bahagian Atas Skrin semasa Menatal

Bayangkan mempunyai kedudukan div berhampiran bahagian atas halaman dengan butang atau kawalan penting. Apabila pengguna menatal secara menegak, anda mahu div ini mengikuti mereka, berpaut pada bahagian atas skrin. Apabila kembali ke atas, ia harus menyambung semula lokasi asalnya.

Penyelesaian

Kunci untuk mencapai gelagat ini ialah menjadikan div "melekit" hanya selepas pengguna menatalnya melepasi port pandangan. Ini melibatkan menetapkan kedudukan CSSnya kepada tetap. Begini cara untuk melaksanakannya:

<code class="javascript">// Cache jQuery objects for efficiency.
const $window = $(window);
const $stickyEl = $('#the-sticky-div');
const elTop = $stickyEl.offset().top;

$window.scroll(function() {
    $stickyEl.toggleClass('sticky', $window.scrollTop() > elTop);
});</code>
Salin selepas log masuk

Kod ini melampirkan pengendali acara pada acara skrol tetingkap. Apabila dicetuskan, ia menyemak sama ada kedudukan skrol semasa telah melebihi elTop (offset awal div dari atas). Jika benar, ia menambahkan kelas CSS bernama sticky pada div, menyebabkan ia menjadi tetap di bahagian atas skrin. Jika tidak, ia mengalih keluar kelas, membenarkan div kembali ke kedudukan asalnya.

Takrif kelas CSS yang sepadan akan kelihatan seperti ini:

<code class="css">#the-sticky-div.sticky {
    position: fixed;
    top: 0;
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Membuat Div Melekit pada Tatal: Panduan untuk Kedudukan Tetap dan Pengendalian Acara?. 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