突出显示活动选项卡的导航

时间:2014-04-03 12:48:10

标签: javascript css html5

我在这里和W3上四处看看但似乎无法弄清楚如何获取导航菜单我必须突出显示我点击的“标签”并在我点击另一个标签时删除突出显示。

我的布局是2帧,左框架是关于项目的一些信息(工作正常)右框架有我的导航栏。

这是右边的框架:(问题孩子)

<!DOCTYPE html>
<html>
<head>
<style>
#menu {
  text-align: justify;
}

#menu * {
  display: inline;
}

#menu li {
  display: inline-block;
}

#menu span {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 0;
}
.button {
display: block;
width: 155px;
height: 45px;
background: #4E9CAF;
padding: 10px;
text-align: center;
border-radius: 5px;
color: white;
font-weight: bold;
}
</style>
<script type="text/javascript">
function updateObjectIframe(which){
document.getElementById('navgo').innerHTML = '<'+'object id="bar" style="height:100%;width:100%;" name="bar" type="text/html" data="'+which.href+'"><\/object>';
}
</script>
</head
<body>

<div id="menu">
                    <ul>
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>

                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>  
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>  
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>  
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>

                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>
                    <li><a class="button" href="#" onclick="updateObjectIframe(this); return false;">TEST</a></li>
                    <ul>
                </div>
<div id="navgo" style="height:95%;width:100%;">
<object id="bar" name="bar">

</object>
</body>
</html>

如果有人对如何使这项工作有任何想法,请告诉我你的想法。 谢谢你的任何建议!

2 个答案:

答案 0 :(得分:0)

这是一个简单的jQuery方法来做你要问的事:http://jsfiddle.net/qs4w3/

你应该可以使用这个小提琴中的代码来使你的例子有效。

$("nav > ul > li > a").click(function() {
    $("nav > ul > li > a").removeClass('active');
    $(this).addClass('active');
});

答案 1 :(得分:0)

我明白了!

将功能更新为以下

function updateObjectIframe(which){
document.getElementById('one').innerHTML = '<'+'object id="foo" style="height:100%;width:100%;" name="foo" type="text/html" data="'+which.href+'"><\/object>';
var testElements = document.getElementsByClassName('button');
Array.prototype.filter.call(testElements, function(testElement){
     testElement.style = "background: #4E9CAF;color: white;";
});
which.style = "background: #333; color: #fff;";
}