Dalam kod anda untuk butang tunjuk/sembunyi, anda menyebut mengalami isu luar biasa di mana pengguna mesti menggandakan klik butang pada percubaan awal, walaupun elemen itu telah disembunyikan. Untuk menyelesaikan masalah ini, mari kita terokai kemungkinan punca dan sediakan penyelesaian.
Kod semasa menggunakan sifat style.display untuk menogol keterlihatan elemen. Sifat style.display boleh ditetapkan kepada sama ada "tiada" atau "sekat". Apabila elemen pertama kali dibuat, sifat style.displaynya mungkin kosong, yang ditafsirkan sebagai "tiada" oleh JavaScript. Akibatnya, apabila butang diklik buat kali pertama, ia kelihatan mengklik dua kali kerana ia pertama kali menyembunyikan elemen (sambil menyemak x.style.display === "tiada") dan kemudian menunjukkannya (seperti syaratnya kini palsu).
Untuk menyelesaikan isu ini dan membenarkan elemen ditunjukkan pada klik pertama, anda boleh menyemak sama ada x.style.display sama ada "tiada" atau rentetan kosong (""). Berikut ialah kod yang diubah suai:
function showhidemenu() { var x = document.getElementById("menu"); if (x.style.display === "none" || x.style.display === "") { x.style.display = "block"; } else { x.style.display = "none"; } }
Syarat yang dikemas kini ini akan memastikan bahawa pada klik pertama, apabila x.style.display kosong, elemen akan dipaparkan dengan betul tanpa memerlukan klik dua kali.
Atas ialah kandungan terperinci Mengapa Butang Papar/Sembunyikan Saya Memerlukan Klik Dua Kali pada Percubaan Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!