Maison >interface Web >tutoriel CSS >Pourquoi mon bouton Afficher/Masquer nécessite-t-il un double-clic dès la première tentative ?

Pourquoi mon bouton Afficher/Masquer nécessite-t-il un double-clic dès la première tentative ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-23 16:00:19739parcourir

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

Dépannage du problème de double-clic pour le bouton Afficher/Masquer

Dans votre code pour un bouton Afficher/Masquer, vous avez mentionné avoir rencontré un problème inhabituel où l'utilisateur doit double- cliquez sur le bouton lors de la première tentative, même si l'élément est déjà masqué. Pour résoudre ce problème, explorons la cause possible et proposons une solution.

Le code actuel utilise la propriété style.display pour basculer la visibilité de l'élément. La propriété style.display peut être définie sur « aucun » ou « block ». Lorsque l'élément est créé pour la première fois, sa propriété style.display peut être vide, ce qui est interprété comme « aucun » par JavaScript. Par conséquent, lorsque vous cliquez pour la première fois sur le bouton, il semble double-cliquer car il masque d'abord l'élément (car il vérifie x.style.display === "none"), puis l'affiche (car la condition est maintenant faux).

Pour résoudre ce problème et permettre à l'élément d'être affiché au premier clic, vous pouvez vérifier si x.style.display est soit "aucun" ou une chaîne vide (""). Voici le code modifié :

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

Cette condition mise à jour garantira qu'au premier clic, lorsque x.style.display est vide, l'élément s'affichera correctement sans nécessiter de double-clic.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn