首页 > 代码库 > 分别用js 和 html/css实现下拉菜单特效
分别用js 和 html/css实现下拉菜单特效
在网站的制作过程,我们常常会遇到导航栏中会出现一级菜单,二级菜单这样的现象,到底如何实现呢?接下里我们用两种方法来实现:
1.用js来实现此效果:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> *{ margin:0px; padding:0px;} body{ font-family:Verdana, Geneva, sans-serif; font-size:14px;} #nav{ width:600px; height:40px; background-color:#eee; margin:0 auto;} ul{ list-style:none;} ul li{ float:left; line-height:40px; text-align:center; width:100px;} a{ text-decoration:none; color:#000; display:block;} a:hover{ color:#F00; background-color:#666;} ul li ul li{ float:none;background-color:#eee; margin:2px 0px;} ul li ul{ display:none;} </style> <script type="text/javascript"> function displaySubMenu(li) { var subMenu = li.getElementsByTagName("ul")[0]; subMenu.style.display = "block"; } function hideSubMenu(li) { var subMenu = li.getElementsByTagName("ul")[0]; subMenu.style.display = "none"; } </script> </head> <body> <div id="nav"> <ul> <li><a href="http://www.mamicode.com/#">首页</a></li> <li onm ouseover="displaySubMenu(this)" onm ouseout="hideSubMenu(this)"><a href="http://www.mamicode.com/#">课程大厅</a> <ul> <li><a href="http://www.mamicode.com/#">JavaScript</a></li> <li><a href="http://www.mamicode.com/#">Html/CSS</a></li> </ul> </li> <li onm ouseover="displaySubMenu(this)" onm ouseout="hideSubMenu(this)"><a href="http://www.mamicode.com/#">学习中心</a> <ul> <li><a href="http://www.mamicode.com/#">视频学习</a></li> <li><a href="http://www.mamicode.com/#">实例练习</a></li> <li><a href="http://www.mamicode.com/#">问与答</a></li> </ul> </li> <li><a href="http://www.mamicode.com/#">经典案例</a></li> <li><a href="http://www.mamicode.com/#">关于我们</a></li> </ul> </div> </body> </html>
此方法主要运用:鼠标经过事件 onm ouseover 鼠标离开事件 onm ouseout 时调用函数。
2.用html/css实现下拉菜单
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> *{ margin:0px; padding:0px;} #menu{ background-color:#eee; width:600px; height:40px; margin:0 auto;} ul{ list-style:none;} ul li{ float:left; line-height:40px; text-align:center; position:relative;} a{ text-decoration:none; color:#000; display:block; width:90px;} a:hover{ color:#FFF; background-color:#666;} ul li ul li{ float:none; border-left:none; margin-top:2px; background-color:#eee; } ul li ul{ display:none; width:90px; position:absolute;} ul li:hover ul{ display:block;} </style> </head> <body> <div id="menu"> <ul> <li><a href="http://www.mamicode.com/#">首页</a></li> <li><a href="http://www.mamicode.com/#">课程大厅</a> <ul> <li><a href="http://www.mamicode.com/#">JavaScript</a></li> <li><a href="http://www.mamicode.com/#">jQuery</a></li> </ul> </li> <li><a href="http://www.mamicode.com/#">学习中心</a> <ul> <li><a href="http://www.mamicode.com/#">视频学习</a></li> <li><a href="http://www.mamicode.com/#">案例学习</a></li> <li><a href="http://www.mamicode.com/#">交流平台</a></li> </ul> </li> <li><a href="http://www.mamicode.com/#">经典案例</a></li> <li><a href="http://www.mamicode.com/#">关于我们</a></li> </ul> </div> </body> </html>
此方式主要运用:设置鼠标指向链接时的形式(display:block/none)
分别用js 和 html/css实现下拉菜单特效
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。