首页 > 网站 > WEB开发 > 正文

jq+css+html简单实现导航下拉菜单

2024-04-27 14:16:39
字体:
来源:转载
供稿:网友

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>
View Code

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                     }
View Code

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 timer11 function mcancelclosetime() {12     if (closetimer) {13         window.clearTimeout(closetimer);14         closetimer = null;15     }16 }17 18 // close layer when click-out19 document.onclick = mclose;20 // -->21 22 $(function () {23     // open hidden layer24     $(".a_nav_Menu").mouSEOver(function () {25         var currentId = $(this).attr("id");26 27         // cancel close timer28         mcancelclosetime();29 30         // close old layer31         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 it36         ddmenuitem = document.getElementById(currentId.replace("a_", ""));37         ddmenuitem.style.visibility = 'visible';38     });39 40     // go close timer41     $(".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 timer49     $(".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 })
View Code

这里只是简单实现一下,如果页面要求比较高,可能就不是很实用了,这个只是当时接了一个私活,因为比较注重业务而不是code所以就写的比较快。

作  者:请叫我头头哥 出  处:http://www.cnblogs.com/toutou/ 关于作者:专注于微软平台的项目开发。如有问题或建议,请多多赐教! 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我 声援博主:如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表