为了账号安全,请及时绑定邮箱和手机立即绑定

如何实现导航菜单的显示与隐藏

如何实现导航菜单的显示与隐藏

追萌 2017-05-24 00:06:07
当前菜单的二级菜单显示时,当前菜单的以下菜单自动向下移动
查看完整描述

1 回答

?
小羊杨

TA贡献24条经验 获得超44个赞

用无序列表或者有序列表进行嵌套然后配套一下css就可以实现。下面是一个简单实现的代码,没有严谨的考虑兼容性,大概看一下把。望采纳

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>demo</title>
	<link rel="stylesheet" href="">
	<style>
		ul>li>ul{
			display:none;
		}
		ul>li>ul.on{
			display:block;
		}
	</style>
	<script>
		window.onload=function(){
			var menu=document.getElementById("menu");
		var cls=menu.getElementsByClassName("first");
		menu.onclick=function(e){
			var e=e||window.event;
			var target=e.target||e.srcElement;
			if(target.className=="first"){
				if(target.children[0].className=="on"){
					target.children[0].className="";
				}else{
					for(var i=0;i<cls.length;i++){
						cls[i].children[0].className="";
					}
					target.children[0].className="on";

				}
			}
		}
		}
	</script>
</head>
<body>
	<ul id="menu">
		<li class="first">一级菜单
			<ul class="on">
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
			</ul>
		</li>
		<li class="first">一级菜单
			<ul>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
			</ul>
		</li>
		<li class="first">一级菜单
			<ul>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
			</ul>
		</li>
		<li class="first">一级菜单
			<ul>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
			</ul>
		</li>
		<li class="first">一级菜单
			<ul>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
				<li>二级菜单</li>
			</ul>
		</li>
	</ul>
</body>
</html>


查看完整回答
1 反对 回复 2017-05-24
?
与君初相识_犹如故人归

TA贡献3条经验 获得超2个赞

//img1.sycdn.imooc.com//592502680001700f02180173.jpg

//img1.sycdn.imooc.com//592502680001ca2301840256.jpg

你想说的是这样的?table、forms、widgets都是一级菜单,当我点击forms时会显示它下面的二级菜单,并且widgets会向下移动,然后再点击一下forms时二级菜单会收起来,并且widgets会向上移动然后变成图一的样子?

查看完整回答
反对 回复 2017-05-24
  • 追萌
    追萌
    是的,请问如何实现的?
  • 与君初相识_犹如故人归
    与君初相识_犹如故人归
    其实很简单,首先一个js的切换事件,jq的话就是通过给forms绑定事件通过toggle切换forms下面那个ul的show(),hide(),当show()的时候通过addClass()给widgets添加一个class,具体这个class怎么写你应该会吧,无非就是一些css的样式,而当forms下面的ul是hide()的时候就通过removeClass()删除之前添加的那个class样式就好了。虽然我这里有现成的代码,但是还是不给你上传了,自己写出来的效果更好。相信你会写出来的
?
紫月青风

TA贡献1条经验 获得超0个赞

这个要看你html的功力了,其实很简单,把二级菜单放在 前菜单的以下菜单 前面,二级菜单显示,自然就把 前菜单的以下菜单 撑下去了

查看完整回答
反对 回复 2017-05-24
  • 1 回答
  • 2 关注
  • 2822 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信