Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah document.body.scrollTop Sentiasa Sifar dalam Versi Lama Internet Explorer?

Mengapakah document.body.scrollTop Sentiasa Sifar dalam Versi Lama Internet Explorer?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-24 21:03:43392semak imbas

Why is document.body.scrollTop Always Zero in Older Versions of Internet Explorer?

Gelagat Penatalan Dokumen Tidak Konsisten dalam Internet Explorer

Semasa cuba memaparkan kedudukan tatal secara dinamik melalui document.body.scrollTop, anda telah menemui anomali: ia secara konsisten mengembalikan 0 dalam Internet Explorer. Untuk memahami sebab perkara ini berlaku, mari kita mendalami isu ini dan menyediakan penyelesaian.

Mengapa document.body.scrollTop Sentiasa Sifar dalam IE?

Dalam versi terdahulu Internet Explorer, tafsiran bukan standard pemaparan dokumen membawa kepada tingkah laku yang tidak konsisten dengan sifat scrollTop. Apabila menggunakan doctype HTML5 yang ketat, IE10 dan versi yang lebih baru kini sejajar dengan penyemak imbas lain dalam hal ini.

Penyelesaian Alternatif untuk Versi IE Lama

Untuk versi IE yang lebih lama, pendekatan alternatif diperlukan untuk mendapatkan semula kedudukan tatal dengan tepat. Coretan kod berikut menyediakan penyelesaian sandaran:

var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;

Kod ini menyemak sama ada sifat documentElement wujud dan mengembalikan nilai scrollTopnya. Jika tidak, ia akan kembali ke document.body.scrollTop.

Dengan menggunakan penyelesaian ini, anda boleh memastikan pengambilan kedudukan tatal yang konsisten merentas penyemak imbas, termasuk versi Internet Explorer yang lebih lama.

Atas ialah kandungan terperinci Mengapakah document.body.scrollTop Sentiasa Sifar dalam Versi Lama Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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