Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menentukan Ketinggian Dokumen dengan Amanah dalam JavaScript?

Bagaimanakah Saya Boleh Menentukan Ketinggian Dokumen dengan Amanah dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-02 02:41:10753semak imbas

How Can I Reliably Determine Document Height in JavaScript?

Menentukan Ketinggian Dokumen dengan JavaScript

Mendapatkan ketinggian dokumen yang betul dalam JavaScript boleh menjadi satu cabaran kerana isu keserasian penyemak imbas. Walaupun semua penyemak imbas menyediakan sifat seperti clientHight dan scrollHeight, pengiraannya berbeza-beza.

Contoh Fandango dan Paperback Swap

Di tapak web seperti Fandango dan Paperback Swap, kaedah tradisional seperti $ (document).height(), document.height dan document.body.scrollHeight gagal atau pulangan tidak tepat nilai.

Amalan Terbaik: Pengiraan Ketinggian Maksimum

Untuk menangani perkara ini, amalan terbaik telah muncul: tentukan ketinggian maksimum daripada semua sumber yang tersedia. ini termasuk:

  • document.body.scrollHeight
  • document.body.offsetHeight
  • document.documentElement.cli entHeight
  • document.documentElement.scrollHeight
  • document.documentElement.offsetHeight

Kod Pelaksanaan

Sampel kod berikut melaksanakan pendekatan ini:

var body = document.body,
    html = document.documentElement;

var height = Math.max( body.scrollHeight, body.offsetHeight, 
                       html.clientHeight, html.scrollHeight, html.offsetHeight );

Pertimbangan

  • Menguji ketinggian dokumen sebelum kesediaan dokumen akan menghasilkan sifar.
  • Kandungan dinamik atau saiz semula tetingkap mungkin memerlukan ujian semula.
  • Gunakan onload atau acara sedia dokumen untuk pengiraan awal; jika tidak, uji seperti yang diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Ketinggian Dokumen dengan Amanah dalam JavaScript?. 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