また助けが必要です。ナビゲーションを保持するリボンがあります。実際には何もしません。リンクをアクティブ/可視から「トグル」するだけで問題ありません。ただし、ユーザーが外部リンク (例では profile-nav の 3 番目の li) をクリックすると、リンク内の URL に移動することを実現したいと考えています。どうもありがとうございました!
HTML:
<div class="ribbon">
<nav>
<ul class="profile-nav">
<li class="active"><a href="#" title="My Account">My Account</a></li>
<li><a href="#" title="Login">Login</a></li>
<li><a href="http://www.google.com" title="External link">External link</a></li>
</ul>
<ul class="lang-nav">
<li class="active"><a href="#" title="English (US)">English (US)</a></li>
<li><a href="#" title="English (UK)">English (UK)</a></li>
<li><a href="#" title="Deutsch">Deutsch</a></li>
<li><a href="#" title="Italiano">Italiano</a></li>
<li><a href="#" title="Русский">Русский</a></li>
</ul>
<ul class="currency-nav">
<li class="active"><a href="#" title="$US Dollar">$US Dollar</a></li>
<li><a href="#" title="€ Euro">€ Euro</a></li>
<li><a href="#" title="£ Pound">£ Pound</a></li>
</ul>
</nav>
</div>
ジャバスクリプト
$(document).ready(function () {
$('.ribbon li').hide();
$('.ribbon li.active').show();
$(".ribbon li a").click(function() {
$(".ribbon li").hide();
if ($(this).parent().parent().hasClass('open'))
$(this).parent().parent().removeClass('open');
else {
$(".ribbon ul").removeClass('open');
$(this).parent().parent().addClass('open');
}
$(this).parent().siblings().each(function() {
$(this).removeClass('active');
});
$(this).parent().attr('class', 'active');
$('.ribbon li.active').show();
$('.ribbon ul.open li').show();
return false;
});
});