我使用下面的代码将类.active添加到站点链接,但我需要在顶部导航菜单上单击菜单项或其中一个子菜单时也添加类active。例如,如果我单击“admitere”选项卡或其任何子级,则“admitere”选项卡必须保持选定状态,直到选择另一个选项卡。
我想创建所有菜单和相关子菜单的id数组,将子菜单包装在span标签中,这样当选中子菜单时,检查其是否在URL中,并使第一个菜单成为相对选项卡。现在,该网站基于Dreamweaver模板制作的类别突出显示第一个菜单选项卡,但我需要从模板系统中创建单个动态菜单。
请帮助我找到解决问题的正确方法。提前致谢。
这是该网站http://www.univagora.ro。
我想创建所有菜单和相关子菜单的id数组,将子菜单包装在span标签中,这样当选中子菜单时,检查其是否在URL中,并使第一个菜单成为相对选项卡。现在,该网站基于Dreamweaver模板制作的类别突出显示第一个菜单选项卡,但我需要从模板系统中创建单个动态菜单。
请帮助我找到解决问题的正确方法。提前致谢。
这是该网站http://www.univagora.ro。
<script type="text/javascript"></script>
<script type="text/javascript"></script>
<div id="menu">
<ul id="nav">
<li id="menu_home"><a href="../index.html">home</a></li>
<li><img src="../images/dropdown/nav_divider.gif" alt=""></li>
<li id="menu_admitere"><a href="../admitere/admitere.php?expandable=0">ADMITERE</a>
<div class="nav-active"></div>
<ul>
<li><a href="../admitere/acte.html?expandable=0">Acte necesare</a>
<ul>
<li><a href="#">test third level</a></li>
<li><a href="#">test third level</a></li>
<li><a href="#">test third level</a></li>
</ul>
</li>
<li><a href="../admitere/cifre.html?expandable=0">Cifre de scolarizare</a></li>
<li><a href="../admitere/desfasurare.html?expandable=0">Desfasurarea admiterii</a></li>
<li><a href="../admitere/fisa-inscriere.html?expandable=0">Fisa de înscriere candidat</a></li>
<li><a href="../admitere/acreditare.html?expandable=0">Acreditare</a></li>
<li><a href="../mesajul.html?expandable=0"><em><strong>“ Mesajul Rectorului „</strong></em></a></li>
</ul>
</li>
<li><img src="../images/dropdown/nav_divider.gif" alt=""></li>
<li id="menu_programe"><a href="../programe-studii/index.html?expandable=1">PROGRAME DE STUDII</a>
<div class="nav-active"></div>
<ul>
<li><a href="../programe-studii/drept/index.html?expandable=1&subexpandable=0">Drept</a></li>
<li><a href="../programe-studii/politie/index.html?expandable=1">Politie Locala</a></li>
<li><a href="../programe-studii/management/index.html?expandable=1&subexpandable=1">Management</a></li>
<li><a href="../programe-studii/cig/index.html?expandable=1&subexpandable=2">Contabilitate si Informatica de Gestiune</a></li>
<li><a href="../programe-studii/inf-econ/index.html?expandable=1&subexpandable=3">Informatica Economica</a></li>
<li><span style="font-size:14px;"><a href="../master/mba-sua.html?expandable=1&subexpandable=4"><em><strong>“ Master MBA AGORA „</strong></em></a></span></li>
</ul>
</li>
<li><img src="../images/dropdown/nav_divider.gif" alt=""></li>
朋友,现在我们可以在需要的地方获得所有活动元素,并选择第一个选项卡以记住我正在访问哪个菜单类别或子菜单。 当然,使用JQuery代码可以更短。这是一种草稿解决方案。 请发布改进意见。 谢谢
目前问题是在首次网页访问时激活index.html,只有在选择元素后才能正常工作。
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script type="text/javascript">
function setActive() {
aObj = document.getElementById('menu').getElementsByTagName('a');
for(i=0;i<aObj.length;i++) {
if(document.location.href.indexOf(aObj[i].href)>=0) {
aObj[i].className='active';
$(aObj[i]).closest('li.top-level').addClass('activetab');
}
}
aObj2 = document.getElementById('nav').getElementsByTagName('a');
for(i=0;i<aObj2.length;i++) {
if(document.location.href.indexOf(aObj2[i].href)>=0) {
aObj2[i].className='active';
}
}
}
$(document).ready(function(){
setActive();
});
</script>
<head>
<body>
<div id="menu">
<ul>
<li class="top-level"><a href="../index.html" >Home</a></li>
<li class="top-level"><a href="../product.html" id="current">Products</a>
<ul>
<li><a href="../sub1.html">item1</a></li>
<li><a href="../sub11.html">item2</a></li>
<li><a href="../sub12.html">item3</a></li>
</ul>
</li>
<li class="top-level"><a href="../other.html">Other</a>
<ul>
<li><a href="../sub2.html">itemA</a></li>
<li><a href="../sub21.html">itemB</a></li>
<li><a href="../sub22.html">itemC</a></li>
</ul>
</li>
<li class="top-level"><a href="../contact.html">Contact</a></li>
</ul>
</div>
<div class="sidebar1">
<ul id="nav">
<li><a href="../index.html">index</a></li>
<li><a href="../product.html">product</a></li>
<li><a href="../contact.html">contact</a></li>
</ul>
</div>
<body>
以及 CSS
#menu{
border:none;
border:0px;
margin:0px;
padding:0px;
font: 67.5% "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet Unicode MS";
font-size:14px;
font-weight:bold;
}
#menu ul{
background:#333333;
height:35px;
list-style:none;
margin:0;
padding:0;
}
#menu li{
background:#333333 url("images/seperator.gif") bottom right no-repeat;
float:left;
padding:0px;
}
#menu li a{
color:#cccccc;
display:block;
font-weight:normal;
line-height:35px;
margin:0px;
padding:0px 25px;
text-align:center;
text-decoration:none;
}
#menu li a:hover, #menu ul li:hover a{
background: #2580a2 url("images/hover.gif") bottom center no-repeat;
color:#FFFFFF;
text-decoration:none;
}
#menu li ul{
background:#333333;
display:none;
height:auto;
padding:0px;
margin:0px;
border:0px;
position:absolute;
width:225px;
z-index:200;
/*top:1em;
/*left:0;*/
}
#menu li:hover ul{
display:block;
}
#menu li li {
background:url('images/sub_sep.gif') bottom left no-repeat;
display:block;
float:none;
margin:0px;
padding:0px;
width:225px;
}
#menu li:hover li a{
background:none;
}
#menu li ul a{
display:block;
height:35px;
font-size:12px;
font-style:normal;
margin:0px;
padding:0px 10px 0px 15px;
text-align:left;
}
#menu li ul a:hover, #menu li ul li:hover a{
background:#2580a2 url('images/hover_sub.gif') center left no-repeat;
border:0px;
color:#ffffff;
text-decoration:none;
}
#menu p{
clear:left;
}
li.activetab{ background-color: #F03 !important;}