javascript——JS 实现下拉菜单

JS简单实现下拉菜单

首先,写一个菜单条,包含菜单,加上菜单项,并给他们加上样式,使下拉菜单变得更加美观,再加上js效果,设置其是否可见,用js写一个方法调用即可。
?????????????????

上图,是我写的一个简单的下拉菜单条,最右边的为初始状态。

接下来让我们开始写一个类似上面的下拉菜单(没有写样式的)

?

首先,写出四个带菜单项的的菜单分别展开显示。

我列出第一个做例子,需要给每个菜单的菜单项的整体定义一个id,如下图的ul的id,这里为了方便,将id分别取为:0、1、2、3? (给菜单项加上链接是为了鼠标放上去更好的看到效果)

给span加上id=“00”,是为了显示菜单的变化,分别定义:00,01,02,03

(+:表示打开下拉,- :表示收起)

<div> 
<div >span id="00">+<span>一级菜单A</div>
<ul id="0" background="blue">
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
    <li><a href="#">一级菜单</a></li>
</ul></div>

?同样的方法写出余下三个(参照图片,代码略)

第二步,给小菜单项加上一个style 设置是否可见的样式

block? 为可见; none? 为不可见。在这里讲第一个设置为可见,其他的设置为不可见。

<ul style="display:block" id="0">

?第三步,编写js方法(核心)

//编写一个方法,用来改变菜单项的是否可见,来实现菜单的收起和下拉,并传入当前对象的id
function caiDan(id){
    //定义一个变量,用来保存span的id
    var num = ‘0‘+id;
    //通过document.getElementById()这个方法得到当前对象
    var idd = document.getElementById(id);
    //判断当前对象的style.display  是否可见
    //如果不可见,则将其改为可见
	if(idd.style.display=="none"){
		idd.style.display="block";
		//将span中的“-”改为“+”,打开下拉菜单
		document.getElementById(num).innerHTML="+";
	}else{
		//否则将其设置为不可见
		idd.style.display="none";
		//将span中的“+”改为“-”,收起下拉菜单
		document.getElementById(num).innerHTML="-";
	}
	//利用for循环,将除了当前对象以外的都设为不可见 隐藏
	for(var i=0;i<4;i++){
		//除开当前对象
		if(i!=id){
		//设置为不可见,收起
		document.getElementById(i).style.display="none";
		document.getElementById(‘0‘+i).innerHTML="-";
		}
	}
}

?

?第四步,写完方法,给菜单栏的每次菜单加上onclick方法(点击事件)加上caiDan(id)方法

<div  onclick="caiDan(‘0‘)"><span id="00">-</span>一级菜单A</div>

?最后,在浏览器中打开,点击即可看到效果

?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。