打開這裏是我的小提琴:無法爲新的顏色類添加到第一子 - 菜單項時外菜單項手風琴
http://jsfiddle.net/d3su54rt/2/
我用手風琴來實現與子菜單的菜單。我期望做的是每次點擊一個外部菜單項時,即使沒有點擊,我也希望第一個項目(第一個子項)突出顯示爲紅色。當我點擊任何其他菜單項時,它應該只突出顯示一個點擊。然後,當我再次打開外部菜單項時,默認情況下,第一個應該再次突出顯示。我正在嘗試添加一個基於特定手風琴打開選項卡的innerMenuItemOnClick類。
這裏是我的html:
<div id="accordion">
<h3 class="outerMenuItem">OuterItem1</h3>
<ul id="statusId">
<li><a class="innerMenuItem" href="#!">Inner Item 1</a></li>
<li><a class="innerMenuItem" href="#!">Inner Item 2</a></li>
<li><a class="innerMenuItem" href="#!">Inner Item 3</a></li>
</ul>
<h3 class="outerMenuItem">OuterItem2</h3>
<ul id="networkId">
<li><a class="innerMenuItem" href="#!">Inner Item 1</a></li>
<li><a class="innerMenuItem" href="#!">Inner Item 2</a></li>
</ul>
這裏是我的jQuery:
$("#accordion").accordion({collapsible:true, active:0, heightStyle: "content"});
$(document).on("click",".outerMenuItem",function(){
var currentlyActive=$("#accordion").accordion("option", "active");
console.log("Current tab no. "+currentlyActive);
if(currentlyActive===0){
console.log($("#statusId li:first-child").text());
$("#statusId li:first-child").addClass("innerMenuItemOnClick");
}
else if(currentlyActive===1){
$("#networkId li:first-child").addClass("innerMenuItemOnClick");
}
else {
$("#protocolParameters").load("/404.html .someError");
}
});
$(document).on("click",".innerMenuItem",function() {
$(".innerMenuItem").removeClass("innerMenuItemOnClick");
$(this).addClass("innerMenuItemOnClick");
});
這裏是基本的CSS:
#accordion .ui-icon{
display:none;
}
#accordion .ui-accordion-header{
height:30px;
position: relative;
z-index: 3;
width:200px;
}
#accordion .ui-accordion-header:hover{
color:#eb5e13;
}
#accordion .ui-accordion-header .ui-state-active{
color:#eb5e13;
}
#accordion .ui-accordion-content {
position: relative;
z-index: 6;
width:180px;
color:#eb5e13;
}
#accordion .ui-accordion-header:active{
color:#eb5e13;
}
a{
color: #3f3f4e;
font-weight: bold;
padding-left:15px;
}
a.innerMenuItem{
color: #363545;
}
a.innerMenuItemOnClick{
color:#eb5e13 !important;
}
我不做完理解你的問題,既不是你的代碼,但是[this](http://jsfiddle.net/d3su54rt/3/)你在找什麼? – Lucio
是的,這是我想要的一部分。然而,我想要的是,如果我點擊其中一個「內部菜單項」說項目2,那麼點擊一個應該突出顯示,第一個應該回到原來的黑色字體顏色。如果你運行我的版本,你會看到你可以點擊菜單項,並在點擊時變成紅色。所以我想要的是你剛剛展示的內容和我之前的內容的組合。另外,如果一旦加載頁面,第一個菜單項被突出顯示就會很好。現在,你的代碼不會這樣做。 –