2012-02-13 5 views
0

私はul navを持っています。 "Resources" liをクリックして "Resources" liをアクティブにするときに、divコンテンツを表示する必要があります。次に、divコンテンツをクリックして閉じると、divコンテンツを非表示にしてliをアクティブにしません。どんな洞察が助けになるかわからないので、これをやっていく方法についてはわかりません。jQuery make activeアクティブコンテンツを表示する

クリックして、このリチウムアイテム、アクティブます

<li><a href="">Resources</a></li> 

ショーこのdivのコンテンツ

<div id="pdftab">Some content</div> 

私はあなたを与えることができ、ページのマークアップの知識がなくても、

+1

から、あなたのマークアップに基づいて

が ''まったくid'を持ってli'ていますか? 'li'要素とdivの順序との間には何らかの関係がありますか?あなたの(代表)マークアップの大部分を示す[JS Fiddleのデモ](http://jsfiddle.net/)を提供できますか? –

+0

liにはidがありません。この特定のページにはわずか2つしかありません。 1つは外部リンクに行きます。 "Resources" liは、divコンテンツを表示する唯一のliです。 – Andrea

答えて

1

本当にありがとうございましたヒント。このような何かがあなたのために働くでしょう。

$('li a').click(function(){ 
    $('#pdftab').show(); 
    $(this).parent().addClass('active'); 
    return false; 
}); 

$('#pdftab').click(function(){ 
    $(this).hide(); 
    $('li').removeClass('active'); 
}); 

あなたはDOM要素からクラスを追加/削除するaddClass/removeClassを使用することができます

.active{ 
    //add required styles 
} 

アクティブクラスのスタイルを定義します。 jQueryオブジェクトに.parent()を呼び出すと、親要素が取得されます。

更新:

$('#navlist li:eq(1) a').click(function(){ 
    $('#pdftab').show() 
       .animate({left: '+=340px'}, 1200); 
    $(this).parent().addClass('resourceactive'); 
    return false; 
}); 

$('#pdftab').click(function(){ 
    $(this).hide(); 
    $('#navlist li:eq(1)').removeClass('resourceactive'); 
}); 
+0

白い実線の矢印が見えます。 – ShankarSangoli

+0

私の編集した答えを確認し、そのコードを使用してください。 – ShankarSangoli

+0

コンテンツが消えている間に "リソース"をクリックすると、コンテンツはアニメーション化されたままになります。 「リソース」をクリックするとアニメーションを停止する機能はありますか? – Andrea

関連する問題