„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum funktioniert eine Doppelklick-Schaltfläche zum Anzeigen/Ausblenden nur beim zweiten Aufruf?

Warum funktioniert eine Doppelklick-Schaltfläche zum Anzeigen/Ausblenden nur beim zweiten Aufruf?

Veröffentlicht am 08.11.2024
Durchsuche:897

Why Does a Double-Click Show/Hide Button Only Function on Second Invocation?

Warum doppelklicken Sie, um die Schaltfläche bei der ersten Verwendung ein-/auszublenden?

Auf einer Webseite ist eine Schaltfläche zum Ein- oder Ausblenden gedacht ein Element, erfordert jedoch beim ersten Aufruf einen Doppelklick. Bei der Untersuchung wurde festgestellt, dass der Code für die Schaltfläche wie folgt lautet:

function showhidemenu() {
  var x = document.getElementById("menu");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}

Das Problem ergibt sich aus dem Anfangszustand des Elements mit der ID „menu“. Standardmäßig ist die Anzeigeeigenschaft des Elements im CSS auf „none“ gesetzt. Beim ersten Aufruf der Funktion showhidemenu() wird folgende Prüfung durchgeführt:

if (x.style.display === "none")

Diese Prüfung wird als wahr ausgewertet, da die anfängliche Anzeigeeigenschaft des Elements „none“ ist. Folglich wird die Anzeige des Elements auf „blockieren“ gesetzt. Beim nächsten Klick wird die Anzeigeeigenschaft jedoch wie erwartet auf „none“ gesetzt.

Um dieses Problem zu beheben, sollte die anfängliche Anzeigeeigenschaft des Elements auf „empty“ statt auf „none“ gesetzt werden. Dadurch wird sichergestellt, dass die Prüfung in der Funktion beim ersten Klick korrekt ausgewertet wird.

if (x.style.display === "none" || x.style.display === "")

Mit dieser Änderung zeigt die Schaltfläche das Element wie vorgesehen beim ersten Klick an.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729206136 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3