2011-06-27 51 views
-1

我有一個CMS網站,我正在使用一個水平的主導航和側邊欄樣式子導航。如果樣式jQuery語句幫助

水平菜單項是關於網站的部分,如關於我們,我們的工作等,側邊欄的子導航是關於該部分的內容。

一旦用戶點擊其中一個水平菜單項並顯示該部分的內容和邊欄導航,我想將類應用於與該部分相關的水平菜單項,而不管它們是什麼邊欄菜單項單擊。

要做到這一點,每個工具欄菜單項都有分配給它所以基本上一類獨特的,我想創建一個jQuery是...

如果「ul.about-側邊欄」中顯示的頁面上,然後什麼在水平關於我們菜單項上添加「活動」類。

但我有點不確定如何說出聲明......任何想法?

+0

最好使用一些服務器端代碼來告訴你的JS你在哪個頁面上,然後用JS應用這個樣式。您是否可以輕鬆訪問該信息? – Ben

回答

1

類似的東西應該工作

if ($("ul.about-sidebar").length > 0) { 
    $("#AboutUs").addClass("active"); 
} 

如果About Us菜單項不具有唯一的ID,您可以在使用選擇像可能會發現:

$("#horizontalMenu .menuItem:contains('About Us')"); 

這看起來一個元素含類'menuItem'含文"About Us"下有元素Id="horizontalMenu"

0
$('ul').live('click', function(event) { 
    var target = $(event.target); 
    $('#' + target.attr('id')).removeClass('inactive-class').addClass('active-class'); 
}); 

這應該適用於您點擊的任何ul元素。可以區分<ul>元素,所以最好水平導航欄中的所有元素都按$('ul.horiz-navbar')這樣的類來選擇。