Rumah >hujung hadapan web >tutorial css >Mengapa Butang Papar/Sembunyikan Saya Memerlukan Klik Dua Kali pada Percubaan Pertama?

Mengapa Butang Papar/Sembunyikan Saya Memerlukan Klik Dua Kali pada Percubaan Pertama?

Linda Hamilton
Linda Hamiltonasal
2024-12-23 16:00:19739semak imbas

Why Does My Show/Hide Button Require a Double-Click on the First Attempt?

Menyelesaikan Masalah DwiKlik untuk Butang Tunjuk/Sembunyikan

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!

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