2 回答

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

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
對(duì)于懸停狀態(tài),請(qǐng)使用 CSS。對(duì)于 CSS,我的意思是使用:hover選擇器。您應(yīng)該在所有菜單按鈕上添加一個(gè)類,然后定位它們。例子:
// 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;
}
為了在點(diǎn)擊時(shí)顯示內(nèi)容,您應(yīng)該使用與使用 jQuery 添加 css 相同的方法,即使用this. 由于我們?cè)诓藛伟粹o上添加了一個(gè)類,我們可以使用它來(lái)添加我們的事件偵聽器,然后我們還可以在所有菜單內(nèi)容上添加一個(gè)類并將它們?nèi)侩[藏在一起。通過(guò)在菜單按鈕 id 和內(nèi)容 id 之間保持一種模式,我們可以得到一個(gè)通用的解決方案。
$(".menu-item").click(function(){
$(".menu-content").hide();
$('#'+$(this).attr('id') + '-content').show();
});
在這里查看工作小提琴:https ://jsfiddle.net/etqwf3kr/
添加回答
舉報(bào)