Mengapakah `document.body.scrollTop` Sentiasa Mengembalikan 0 dalam IE?

Patricia Arquette
Lepaskan: 2024-11-16 05:47:03
asal
445 orang telah melayarinya

Why Does `document.body.scrollTop` Always Return 0 in IE?

Menyelesaikan Masalah Document.body.scrollTop Sentiasa Mengembalikan 0 dalam IE

Masalah:
Mendapatkan semula kedudukan skrol menggunakan document.body.scrollTop dalam Internet Explorer secara konsisten mengembalikan 0, walaupun ketika halaman itu ditatal.

Sebab:
IE mengendalikan tatal halaman secara berbeza daripada penyemak imbas lain. Terutamanya dalam versi lama, document.body.scrollTop mungkin tidak boleh menjejaki pergerakan skrol dengan pasti.

Penyelesaian:

Untuk versi lama IE, pendekatan komprehensif disyorkan:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;
Salin selepas log masuk

Kod ini menyemak kedua-dua document.documentElement.scrollTop dan document.body.scrollTop untuk mendapatkan kedudukan tatal yang betul dalam kebanyakan versi IE.

Jika anda menggunakan versi IE yang lebih baharu atau pendekatan yang lebih halus diperlukan, pertimbangkan untuk menggunakan sifat window.scrollY sebaliknya:

var top = window.scrollY;
Salin selepas log masuk

window.scrollY menyediakan penyelesaian silang penyemak imbas untuk mendapatkan semula kedudukan skrol menegak.

Atas ialah kandungan terperinci Mengapakah `document.body.scrollTop` Sentiasa Mengembalikan 0 dalam IE?. 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