右側にコンテンツを表示/非表示にする左側のナビゲーションがあります。現在、リンクをクリックすると、右側の対応するコンテンツがフェードインし、そのリンクにアクティブなクラスが追加されます。私の問題は、アクティブなリンクをもう一度クリックすると、右側のコンテンツが再びフェードインし続けることです。リンクがアクティブなときにそのクリックのバインドを解除し、別のナビゲーションリンクをクリックした場合(その後、前のリンクからクラスを削除して現在のリンクに追加)、クリックイベントをすべての非アクティブなリンクに再バインドします。
これが私の現在のコードです:
$('.mixesSidebar ul li').click( function() {
//Get the attribute id
var liId = $(this).attr('id');
//removeClass active from all li's, addClass active to this
$('.mixesSidebar ul li').removeClass('active');
$(this).addClass('active');
//Hide all content on the right
$('.mixesContent ul').hide();
//Find the content with the same class as the clicked li's ID, and fadeIn
$('.mixesContent').find('.' + liId).fadeIn('slow');
});
どうもありがとうございました!