需要js帮助解决这个问题。一页上有两个导航栏,一个侧面导航栏和一个顶部导航栏一起工作。单击并选择侧导航激活状态和导航顶部当前状态时会突出显示,但当单击第二个和第三个导航链接时,侧导航激活/选定状态将被删除。Javascript left and top nav active current states
下面是HTML:
<div id="nav">
<ul>
<li class="active"><a href="#SideNav1">Side Nav 1</a></li>
<li><a href="#SideNav2">Side Nav 2</a></li>
</ul><br />
<div id="SideNav1">
<ul>
<li class="current">Side Nav 1 Top Nav 1</li>
<p>Content here</p> <br />
<li><a href="#SideNav1TopNav2">Side Nav 1 Top Nav 2</a></li>
<p>Content here</p> <br />
<li><a href="#SideNav1TopNav3">Side Nav 1 Top Nav 3</a></li>
<p>Content here</p> <br />
</ul>
</div>
<div id="SideNav2">
<ul>
<li class="current">Side Nav 2 Top Nav 2</li>
<p>Content here</p> <br />
<li><a href="#SideNav2TopNav2">Side Nav 2 Top Nav 2</a></li>
<p>Content here</p> <br />
<li><a href="#SideNav3TopNav3">Side Nav 2 Top Nav 3</a></li>
<p>Content here</p> <br />
</ul>
</div>
<div id="SideNav1TopNav2">
<ul>
<li><a href="#SideNav1">Side Nav 1 Top Nav 1</a></li>
<p>Content here</p> <br />
<li class="current">Side Nav 1 Top Nav 2</li>
<p>Content here</p> <br />
<li><a href="#SideNav1TopNav3">Side Nav 1 Top Nav 3</a></li>
<p>Content here</p> <br />
</ul>
</div>
<div id="SideNav1TopNav3">
<ul>
<li><a href="#SideNav1">Side Nav 1 Top Nav 1</a></li>
<p>Content here</p> <br />
<li><a href="#SideNav1TopNav3">Side Nav 1 Top Nav 2</a></li>
<p>Content here</p> <br />
<li class="current">Side Nav 1 Top Nav 3</li>
<p>Content here</p> <br />
</ul>
</div>
<div id="SideNav2TopNav2">
<ul>
<li><a href="#SideNav2">Side Nav 2 Top Nav 1</a></li>
<p>Content here</p> <br />
<li class="current">Side Nav 2 Top Nav 2</li>
<p>Content here</p> <br />
<li><a href="#SideNav2TopNav3">Side Nav 2 Top Nav 3</a></li>
<p>Content here</p> <br />
</ul>
</div>
<div id="SideNav2TopNav3">
<ul>
<li><a href="#SideNav2">Side Nav 2 Top Nav 1</a></li>
<p>Content here</p> <br />
<li><a href="#SideNav2TopNav3">Side Nav 2 Top Nav 2</a></li>
<p>Content here</p> <br />
<li class="current">Side Nav 2 Top Nav 3</li>
<p>Content here</p> <br />
</ul>
</div>
</div>
这里是JS:
$(function() {
$('#nav div').hide();
$('#nav div:first').show();
$('#nav ul li:first').addClass('active');
$('#nav ul li a').click(function(){
var currentTab = $(this).attr('href');
var vis = $(currentTab).is(':visible');
$('#nav div').hide();
$('#nav ul li').removeClass('active');
$(this).parent().addClass('active');
if(vis) {
$(currentTab).hide();
} else {
$(currentTab).show();
}
});
});
而CSS:
.active {
background:#008CDC;
}
.current {
background:#ECEDED;
}
动态代码在这里:
删除了我的一些评论,因为你不能聊天(Stack Overflow有一个bug!建议去聊天!)。让我确保我清楚地理解:你有一个导航(侧面导航,具体)。当你点击它时,你想让它突出显示,并且你想显示它的相关内容。那是对的吗? – 2012-04-09 21:37:34
是的,我希望侧导航栏突出显示,并且侧导航栏右上角的三个选项卡中的相关内容也突出显示。我需要重新编写代码吗? – halcyon9 2012-04-10 02:19:08
对不起,没有忘记你......只是没有时间去度过这一天。希望别人会看到这个(或者你的实验会得到回报!),但如果没有,我会尽快尝试。 – 2012-04-10 05:58:40