2017-08-23 4 views
0

J'ai ces lignes de code, et je ne peux pas fermer le menu de superposition lorsque je clique sur les éléments de menu. Quelqu'un peut-il aider?Impossible de fermer le menu de superposition en utilisant JavaScript, si je clique sur l'élément de la liste

<div id="myNav" class="overlay"> 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
     <div id="myNav-a" class="overlay-content"> 
      <a href="#home">Home</a> 
      <a href="#projects">Projects</a> 
      <a href="#contact">Contact</a> 
      <a href="#about">About</a> 
     </div> 
    </div> 

<span class="span-menu" style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776;</span> 

<script> 
    function openNav() { 
     document.getElementById("myNav").style.width = "100%"; 
    } 

    function closeNav() { 
     document.getElementById("myNav").style.width = "0%"; 
    } 
</script> 

Répondre

0

Au lieu d'utiliser width, vous pouvez utiliser display. Essayez l'extrait de code ci-dessous:

<div id="myNav" class="overlay"> 
 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> 
 
    <div id="myNav-a" class="overlay-content"> 
 
    <a href="#home" onclick="closeNav()">Home</a> 
 
    <a href="#projects" onclick="closeNav()">Projects</a> 
 
    <a href="#contact" onclick="closeNav()">Contact</a> 
 
    <a href="#about" onclick="closeNav()">About</a> 
 
    </div> 
 
</div> 
 

 
<span class="span-menu" style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776;</span> 
 

 
<script> 
 
    function openNav() { 
 
    document.getElementById("myNav").style.display = "block"; 
 
    } 
 

 
    function closeNav() { 
 
    document.getElementById("myNav").style.display = "none"; 
 
    } 
 
</script>

+0

Thk pour le compagnon de réponse, bien que mon menu superposition fonctionne, de cette façon qu'il ouvre et ferme quand je clique sur la durée, bien que je veux qu'il fermer automatiquement quand l'un des éléments du menu est cliqué, et c'est ce que je ne peux pas comprendre. –

+0

Je vois. J'ai mis à jour ma réponse ci-dessus. Essayez de réexécuter l'extrait. J'ai juste ajouté les attributs 'onclick' à vos balises d'ancrage avec votre méthode' closeNav() '- c'est-à-dire' Home ' –

+0

Thk mate, ça marche parfaitement (y) –