2 回答

TA貢獻1890條經(jīng)驗 獲得超9個贊
這是一個工作示例。還有一些你應該知道的事情;
HTML
最好有菜單ID 。因為類名menu
很常見,而且您在構建網(wǎng)站時可能很容易遇到樣式問題。列表 ( ) 中也沒有必要有一個 div <li>...</li>
。(如果需要,錨標記( <a>...</a>
) 將是比 更好的選擇div
。)您可以像這樣簡化它。
<nav id="menu">
<ul>
<li>MENU 1</li>
<li>MENU 2</li>
<li>MENU 3</li>
<li>MENU 4</li>
</ul>
</nav>
CSS
您不需要使用 jQuery 來實現(xiàn)樣式hover。您可以使用 css 高效地完成它。像這樣。
#menu li {
font-family: 'Gotham-Medium';
cursor: pointer;
}
#menu li:hover {
text-decoration: underline;
}
查詢
您不必為每個導航元素編寫代碼。您可以使用該類來隱藏和僅顯示單擊的內容。像這樣。
$("#menu li").on("click", function(e) {
e.preventDefault();
$("#menu li").hide();
$(this).show();
});

TA貢獻1963條經(jīng)驗 獲得超6個贊
對于懸停狀態(tài),請使用 CSS。對于 CSS,我的意思是使用:hover選擇器。您應該在所有菜單按鈕上添加一個類,然后定位它們。例子:
// HTML
<nav class="menu">
<ul>
<li><div class="menu-item" id="menu1">menu1</div></li>
<li><div class="menu-item" id="menu2">menu2</div></li>
<li><div class="menu-item" id="menu3">menu3</div></li>
<li><div class="menu-item" id="menu4">menu4</div></li>
</ul>
</nav>
// CSS
.menu-item:hover {
text-decoration: underline;
cursor: pointer;
}
為了在點擊時顯示內容,您應該使用與使用 jQuery 添加 css 相同的方法,即使用this. 由于我們在菜單按鈕上添加了一個類,我們可以使用它來添加我們的事件偵聽器,然后我們還可以在所有菜單內容上添加一個類并將它們全部隱藏在一起。通過在菜單按鈕 id 和內容 id 之間保持一種模式,我們可以得到一個通用的解決方案。
$(".menu-item").click(function(){
$(".menu-content").hide();
$('#'+$(this).attr('id') + '-content').show();
});
在這里查看工作小提琴:https ://jsfiddle.net/etqwf3kr/
添加回答
舉報