js基础:导航栏添加二级栏目下拉菜单

2025-09-26 16:48:03

1、先做一个简单的框架和样式

html代码:

<div id='main'>

<ul id='nav'>

<li>栏目一

<ul>

<li>栏目一1</li>

<li>栏目一2</li>

</ul>

</li>

<li>栏目二

<ul>

<li>栏目二1</li>

<li>栏目二2</li>

<li>栏目二3</li>

</ul>

</li>

<li>栏目三

<ul>

<li>栏目三1</li>

</ul>

</li>

</ul>

</div>

css样式代码:

<style>

ul { list-style: none; margin: 0; padding: 0;}

ul li { float:left; width: 100px; height: 30px; line-height: 30px; text-align: center; border-top: 1px solid #ccc; }

ul ul { display: none;}

#main { width: 500px; height: 600px; margin: 20px auto;}

</style>

隐藏或显示二级菜单,其实就是隐藏或显示当前li下面的ul

js基础:导航栏添加二级栏目下拉菜单

2、开始写js代码  先获取到一级栏目中的每个li元素

window.onload = function (){

var oUl = document.getElementById('nav');

var aLi = oUl.getElementsByTagName('li');

3、然后添加鼠标移入移出事件,因为不确定鼠标移入的是哪个li,所以这里用for循环来做。

for ( var i=0; i<aLi.length; i++){

aLi[i].onmouseover = function (){

this.getElementsByTagName('ul')[0].style.display = 'block';

}

}

鼠标移入时,当前这个li元素下面的ul让其显示。

js基础:导航栏添加二级栏目下拉菜单

4、鼠标移出时,当前这个li元素下面的ul让其隐藏。

for ( var i=0; i<aLi.length; i++){

aLi[i].onmouseout = function (){

this.getElementsByTagName('ul')[0].style.display = 'none';

}

}

js基础:导航栏添加二级栏目下拉菜单

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢