2016-12-26 141 views
2

我想做一個水平導航不會自動可見。我想要一個圖像(?)可點擊,以便可以打開和關閉菜單。Javascript或css的可點擊菜單和水平導航

這是我現在的代碼。我已將img放入li,由於佈局,我不知道這是否是正確的方式。

<header> 
    <nav id="hoofdnavigatie"> 
     <ul> 
      <li><a href="#"><img src="images/mobilebutton.png" alt="menu"/></a></li> 
      <li><a class="active" href="index.html">Home</a></li> 
      <li><a href="recept.html">Recept</a></li> 
      <li><a href="bestel.html">Bestel</a></li> 
      <li><a href="kok.html">Kok</a></li> 
      <li><a href="contact.html">Contact</a></li> 
     </ul> 
    </nav> 
</header> 

點擊菜單 After clicking the menu

點擊菜單

Before clicking the menu

+6

_what?_ – Jhecht

+0

我真的不知道如何開始,我不知道該怎麼在互聯網上搜索它,因爲我不知道如何調用它。當我嘗試搜索時,我只能找到諸如JavaScript下拉菜單的東西,但不是我正在尋找的東西。 –

+0

@LottePothé我在下面添加了一個答案,檢查它,如果它有用,請不要忘記勾選它。 –

回答

2

你可以做,使用JS你嘗試過的JavaScript或CSS

document.getElementById("btn").addEventListener("click",function(){ 
 
    var k = document.getElementsByClassName("menu"); 
 
    for(i=0;i<k.length;i++){ 
 
     if(k[i].style.display == "none"){ 
 
      k[i].style.display = "inline-block"; 
 
      } 
 
      else{ 
 
       k[i].style.display = "none"; 
 
      } 
 
    } 
 
});
ul,li{ 
 
    list-style:none; 
 
    margin-left:5px; 
 
    margin-right:5px; 
 
    } 
 
li{ 
 
    display:inline-block; 
 
    } 
 
img{ 
 
    width:20px; 
 
    height:20px; 
 
    } 
 
ul{ 
 
    background:green; 
 
    border:2px solid #000; 
 
    padding:10px; 
 
    } 
 
a { 
 
    color: yellow; 
 
    text-decoration: none; 
 
} 
 

 
a:hover 
 
{ 
 
    color:yellow; 
 
    text-decoration:none; 
 
    cursor:pointer; 
 
} 
 
#btn{ 
 
    cursor:pointer; 
 
    }
<header> 
 
    <nav id="hoofdnavigatie"> 
 
     <ul> 
 
      <li id="btn"><a href="#"><img src="https://i.stack.imgur.com/EIYr8.jpg" alt="menu"/></a></li> 
 
      <li class="menu"><a class="active" href="index.html">Home</a></li> 
 
      <li class="menu"><a href="recept.html">Recept</a></li> 
 
      <li class="menu"><a href="bestel.html">Bestel</a></li> 
 
      <li class="menu"><a href="kok.html">Kok</a></li> 
 
      <li class="menu"><a href="contact.html">Contact</a></li> 
 
     </ul> 
 
    </nav> 
 
</header>

2

之前之後您可以使用JavaScript來切換一些類&據此將其應用到你的CSS。

在下面的代碼片段看一看:

$('.nav-opener').on('click', function() { 
 
    $($(this)).toggleClass('open'); 
 
    $('nav').toggleClass('open'); 
 
});
.content-holder { 
 
    display: flex; 
 
    align-items: center; 
 
} 
 

 
nav { 
 
    display: none; 
 
} 
 

 
nav.open { 
 
    display: block; 
 
} 
 

 
.nav-opener { 
 
    cursor: pointer; 
 
    display: inline-block; 
 
    border: 1px solid #777; 
 
    padding: 8px; 
 
} 
 

 
.nav-opener.open { 
 
    transform: rotate(90deg); 
 
} 
 

 
.nav-opener .bar { 
 
    display: block; 
 
    width: 15px; 
 
    height: 2px; 
 
    background: #777; 
 
    margin-bottom: 4px; 
 
} 
 

 
ul { 
 
    list-style: none; 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 

 
ul li { 
 
    display: inline-block; 
 
    padding: 0 10px; 
 
} 
 

 
.nav-opener .bar:last-child { 
 
    margin-bottom: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="content-holder"> 
 
    
 
    <div class="nav-opener"> 
 
    <span class="bar"></span> 
 
    <span class="bar"></span> 
 
    <span class="bar"></span> 
 
    </div> 
 
    <nav id="hoofdnavigatie"> 
 
      <ul> 
 
       <li><a class="active" href="index.html">Home</a></li> 
 
       <li><a href="recept.html">Recept</a></li> 
 
       <li><a href="bestel.html">Bestel</a></li> 
 
       <li><a href="kok.html">Kok</a></li> 
 
       <li><a href="contact.html">Contact</a></li> 
 
      </ul> 
 
     </nav> 
 
    
 
</div>

希望這有助於!