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

Bagaimanakah Saya Boleh Menentukan Keterlihatan Elemen dalam JavaScript Tulen?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 22:52:11667semak imbas

How Can I Determine Element Visibility in Pure JavaScript?

Menentukan Keterlihatan Elemen dalam JavaScript Tulen

Dengan ketiadaan jQuery, pembangun sering mencari kaedah untuk memastikan sama ada elemen boleh dilihat dalam DOM . Artikel ini menjawab soalan ini, meneroka pelbagai atribut yang boleh menunjukkan keterlihatan atau status tersembunyi.

Walaupun memeriksa atribut paparan kekal sebagai faktor penting, ia bukan satu-satunya pertimbangan. Atribut keterlihatan juga boleh menjejaskan keterlihatan, menunjukkan sama ada sesuatu elemen sedang disembunyikan.

Walau bagaimanapun, atribut selanjutnya mungkin juga memerlukan perhatian. Menurut dokumentasi MDN, sifat offsetParent elemen mengembalikan null apabila ia atau ibu bapanya disembunyikan melalui gaya paparan. Untuk menentukan keterlihatan tidak termasuk elemen tetap, skrip berikut boleh digunakan:

function isHidden(el) {
    return (el.offsetParent === null);
}

Walau bagaimanapun, elemen tetap mungkin memerlukan pendekatan yang berbeza, bergantung pada window.getComputedStyle(). Fungsi berikut mengambil kira elemen sedemikian:

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

Walaupun pilihan kedua lebih komprehensif, ia mungkin lebih perlahan dari segi pengiraan. Oleh itu, pilihan optimum bergantung pada kekerapan operasi.

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