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;
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;
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!