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