Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menentukan Keterlihatan Elemen dalam DOM Hanya Menggunakan JavaScript?

Bagaimanakah Saya Boleh Menentukan Keterlihatan Elemen dalam DOM Hanya Menggunakan JavaScript?

Barbara Streisand
Lepaskan: 2024-11-27 22:27:12
asal
860 orang telah melayarinya

How Can I Determine Element Visibility in the DOM Using Only JavaScript?

Menentukan Keterlihatan Elemen dalam DOM Menggunakan JavaScript Tulen

Soalan:

Bolehkah kami menentukan jika elemen kelihatan dalam DOM tanpa bergantung pada jQuery? Khususnya, atribut manakah yang harus kita periksa untuk memastikan keterlihatannya?

Jawapan:

Menurut dokumentasi MDN, sifat offsetParent sesuatu elemen mengembalikan null jika ia atau mana-mana nenek moyangnya disembunyikan melalui sifat gaya paparan. Walau bagaimanapun, ini mengandaikan bahawa elemen itu tidak diposisikan tetap. Jika tiada kedudukan: elemen tetap terdapat pada halaman, skrip ringkas untuk menyemak keterlihatan boleh:

function isHidden(el) {
    return (el.offsetParent === null);
}
Salin selepas log masuk

Jika terdapat kedudukan: elemen tetap pada halaman, bagaimanapun, malangnya kami terpaksa menggunakan tetingkap .getComputedStyle() untuk semakan menyeluruh, yang mungkin mempunyai implikasi prestasi:

function isHidden(el) {
    var style = window.getComputedStyle(el);
    return (style.display === 'none');
}
Salin selepas log masuk

Walaupun terdedah kepada kes tepi, pilihan kedua menawarkan kejelasan yang lebih besar. Jika operasi itu akan dilakukan berulang kali, pertimbangkan pilihan pertama untuk kecekapan, mengelakkan penalti prestasi window.getComputedStyle().

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Keterlihatan Elemen dalam DOM Hanya Menggunakan JavaScript?. 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