当前位置:
首页 > temp > JavaScript教程 >
-
jq+css+html简单实现导航下拉菜单
相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code.
Html部分
1 <div class="_nav"> 2 <ul id="sddm"> 3 <li><a href="/Home/Index" id="a_nav_Home" class="a_nav_Menu">Home</a> 4 <div id="nav_Home" class="div_nav_Menu"> 5 </div> 6 </li> 7 <li><a href="#" id="a_nav_Employee" class="a_nav_Menu">Employee</a> 8 <div id="nav_Employee" class="div_nav_Menu"> 9 @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" }) 10 @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" }) 11 @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" }) 12 @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" }) 13 @Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" }) 14 </div> 15 </li> 16 <li><a href="#" id="a_nav_Billing" class="a_nav_Menu">Billing</a> 17 <div id="nav_Billing" class="div_nav_Menu"> 18 <a href="#">B Test1</a> 19 <a href="#">B Test2</a> 20 </div> 21 </li> 22 <li><a href="#" id="a_nav_Forecast" class="a_nav_Menu">Forecast</a> 23 <div id="nav_Forecast" class="div_nav_Menu"> 24 <a href="#">F Test1</a> 25 <a href="#">F Test2</a> 26 <a href="#">F Test3</a> 27 </div> 28 </li> 29 </ul> 30 </div>
CSS部分
/*********************------------------------------Menu CSS------------------------*********************/
1 #sddm { 2 margin: 0 auto; 3 } 4 5 #sddm li { 6 margin: 0; 7 padding: 0; 8 list-style: none; 9 float: left; 10 font: bold 12px arial; 11 } 12 13 #sddm li a { 14 display: block; 15 margin: 0 1px 0 0; 16 padding: 4px 10px; 17 width: 60px; 18 color: #49AB6E; 19 text-align: center; 20 text-decoration: none; 21 } 22 23 #sddm li a:hover { 24 background: #49AB6E; 25 color: white; 26 } 27 28 #sddm div { 29 position: absolute; 30 visibility: hidden; 31 margin: 0; 32 padding: 0; 33 } 34 35 #sddm div a { 36 position: relative; 37 display: block; 38 margin: 0; 39 width: auto; 40 white-space: nowrap; 41 text-align: center; 42 text-decoration: none; 43 background: #49AB6E; 44 color: white; 45 font: 12px arial; 46 } 47 48 #sddm div a:hover { 49 background: #E5D6B8; 50 color: white; 51 }
JS部分
1 var timeout = 1; 2 var closetimer = 0; 3 var ddmenuitem = 0; 4 5 // close showed layer 6 function mclose() { 7 if (ddmenuitem) ddmenuitem.style.visibility = 'hidden'; 8 } 9 10 // cancel close timer 11 function mcancelclosetime() { 12 if (closetimer) { 13 window.clearTimeout(closetimer); 14 closetimer = null; 15 } 16 } 17 18 // close layer when click-out 19 document.onclick = mclose; 20 // --> 21 22 $(function () { 23 // open hidden layer 24 $(".a_nav_Menu").mouseover(function () { 25 var currentId = $(this).attr("id"); 26 27 // cancel close timer 28 mcancelclosetime(); 29 30 // close old layer 31 if (ddmenuitem) ddmenuitem.style.visibility = 'hidden'; 32 $("#" + currentId.replace("a_","")).width($("#" + currentId).parent().width() - 1); 33 $("#" + currentId).css({ "background": "#49AB6E", "color": "white" }); 34 35 // get new layer and show it 36 ddmenuitem = document.getElementById(currentId.replace("a_", "")); 37 ddmenuitem.style.visibility = 'visible'; 38 }); 39 40 // go close timer 41 $(".a_nav_Menu").mouseout(function () { 42 var currentId = $(this).attr("id"); 43 $("#" + currentId).css({ "background": "", "color": "#49AB6E" }); 44 45 closetimer = window.setTimeout(mclose, timeout); 46 }); 47 48 // go close timer 49 $(".div_nav_Menu").mouseout(function () { 50 var currentId = $(this).attr("id"); 51 $("#a_" + currentId).css({ "background": "", "color": "#49AB6E" }); 52 closetimer = window.setTimeout(mclose, timeout); 53 }); 54 55 $(".div_nav_Menu").mouseover(function () { 56 var currentId = $(this).attr("id"); 57 $("#a_" + currentId).css({ "background": "#49AB6E", "color": "white" }); 58 mcancelclosetime(); 59 }); 60 })
这里只是简单实现一下,如果页面要求比较高,可能就不是很实用了,这个只是当时接了一个私活,因为比较注重业务而不是code所以就写的比较快。
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数