2013-06-02 266 views
0

我有一個側面導航欄,它使用jQuery將隱藏的div移動到屏幕上。我希望側欄上的每個<li>在點擊時獲得活動課程。jQuery導航欄

我試圖讓它對<li>點擊說給活動類的<li>,然後在下一個<li>的點擊清除活性類,並自動給它下一個點擊<li>

我目前的方法不能很好地工作。以下是我的HTML和腳本:

<ul> 
    <li id="overview" class="selector"><a href="#">OVERVIEW</a></li> 
    <li id="whyus" class="selector"><a href="#">WHY US</a></li> 
</ul> 

<script> 
jQuery("#overviewHidden").fadeIn(); 
jQuery("li#overview").addClass('active'); 

jQuery("#overview").click(function() { 
    jQuery('ul li.active').removeClass('active'); 
    jQuery("li#overview").addClass('active'); 
    jQuery('#whyusHidden, #clientsHidden, #staffHidden').hide(); 
    jQuery('#overviewHidden').slideDown(); 
}); 

jQuery("#whyus").click(function() { 
    jQuery('ul li.active').removeClass('active'); 
    jQuery("li#whyus").addClass('active'); 
    jQuery('#overviewHidden, #clientsHidden, #staffHidden').hide(); 
    jQuery('#whyusHidden').slideDown(); 
}); 
</script> 

任何幫助將是偉大的。謝謝!

回答

1

嘗試這樣:

var activeitem; 

$(document).ready(function() { 
    var items = $("li"); 
    for (var i = 0; i < items.length; i++) { 
    items[i].onclick = function() { 
     if (activeitem) { 
     activeitem.removeClass("active"); 
     } 
     activeitem = $(this); 
     activeitem.addClass("active"); 
    }; 
    } 
}); 
+0

我不能得到這爲我工作。我爲每個列表項添加了一個類。我將需要一種方法將其與我爲下一個項目加載的div內容綁定。我想點擊.selector,我需要給主動類,讓我點擊任何,然後在下一次點擊從前面的李刪除類,並把它給下一個。 – user2445613

+0

@ user2445613代碼'lentgh'中有一個錯字我已經修復了 – Blowsie

0
jQuery("li.selector").click(function() { 
    $(this).addClass('active'); 
    $(this).siblings().removeClass('active'); 
});