相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code.

Html部分

  <div class="_nav">
<ul id="sddm">
<li><a href="/Home/Index" id="a_nav_Home" class="a_nav_Menu">Home</a>
<div id="nav_Home" class="div_nav_Menu">
</div>
</li>
<li><a href="#" id="a_nav_Employee" class="a_nav_Menu">Employee</a>
<div id="nav_Employee" class="div_nav_Menu">
@Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
@Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
@Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
@Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
@Html.ActionLink("Test", "Test", new { area = "BMOManagement", controller = "Test" })
</div>
</li>
<li><a href="#" id="a_nav_Billing" class="a_nav_Menu">Billing</a>
<div id="nav_Billing" class="div_nav_Menu">
<a href="#">B Test1</a>
<a href="#">B Test2</a>
</div>
</li>
<li><a href="#" id="a_nav_Forecast" class="a_nav_Menu">Forecast</a>
<div id="nav_Forecast" class="div_nav_Menu">
<a href="#">F Test1</a>
<a href="#">F Test2</a>
<a href="#">F Test3</a>
</div>
</li>
</ul>
</div>

CSS部分

/*********************------------------------------Menu CSS------------------------*********************/

 #sddm {
margin: 0 auto;
} #sddm li {
margin:;
padding:;
list-style: none;
float: left;
font: bold 12px arial;
} #sddm li a {
display: block;
margin: 0 1px 0 0;
padding: 4px 10px;
width: 60px;
color: #49AB6E;
text-align: center;
text-decoration: none;
} #sddm li a:hover {
background: #49AB6E;
color: white;
} #sddm div {
position: absolute;
visibility: hidden;
margin:;
padding:;
} #sddm div a {
position: relative;
display: block;
margin:;
width: auto;
white-space: nowrap;
text-align: center;
text-decoration: none;
background: #49AB6E;
color: white;
font: 12px arial;
} #sddm div a:hover {
background: #E5D6B8;
color: white;
}

JS部分

 var timeout = 1;
var closetimer = 0;
var ddmenuitem = 0; // close showed layer
function mclose() {
if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
} // cancel close timer
function mcancelclosetime() {
if (closetimer) {
window.clearTimeout(closetimer);
closetimer = null;
}
} // close layer when click-out
document.onclick = mclose;
// --> $(function () {
// open hidden layer
$(".a_nav_Menu").mouseover(function () {
var currentId = $(this).attr("id"); // cancel close timer
mcancelclosetime(); // close old layer
if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
$("#" + currentId.replace("a_","")).width($("#" + currentId).parent().width() - 1);
$("#" + currentId).css({ "background": "#49AB6E", "color": "white" }); // get new layer and show it
ddmenuitem = document.getElementById(currentId.replace("a_", ""));
ddmenuitem.style.visibility = 'visible';
}); // go close timer
$(".a_nav_Menu").mouseout(function () {
var currentId = $(this).attr("id");
$("#" + currentId).css({ "background": "", "color": "#49AB6E" }); closetimer = window.setTimeout(mclose, timeout);
}); // go close timer
$(".div_nav_Menu").mouseout(function () {
var currentId = $(this).attr("id");
$("#a_" + currentId).css({ "background": "", "color": "#49AB6E" });
closetimer = window.setTimeout(mclose, timeout);
}); $(".div_nav_Menu").mouseover(function () {
var currentId = $(this).attr("id");
$("#a_" + currentId).css({ "background": "#49AB6E", "color": "white" });
mcancelclosetime();
});
})

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

作  者:请叫我头头哥

出  处:http://www.cnblogs.com/toutou/

关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信

声援博主:如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!

jq+css+html简单实现导航下拉菜单的更多相关文章

  1. 纯CSS实现二级导航下拉菜单--css的简单应用

    思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...

  2. 简单实用的下拉菜单(CSS+jquery)

    原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  3. 用原生JS实现的一个导航下拉菜单,下拉菜单的宽度与浏览器视口的宽度一样(js+html+css)

    这个导航下拉菜单需要实现的功能是:下拉菜单的宽度与浏览器视口的宽度一样宽:一级导航只有两项,当鼠标移到一级导航上的导航项时,相应的二级导航出现.在本案例中通过改变二级导航的高度来实现二级导航的显示和消 ...

  4. HTML DOM部分---做竖向横向的下拉导航 下拉菜单 图片轮播(圆点、箭头) 选项卡 进度条;

    1,竖向下拉导航 鼠标单击打开 再打击关闭 <style> *{ margin:0px auto; padding:0px;} div{ width:100px; height:50px; ...

  5. 兼容ie7的导航下拉菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. bootstrap:导航下拉菜单

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  7. MDNavBarView下拉导航菜单(仿美团导航下拉菜单)

    说到下拉导航菜单这个东西用得还真不少,细心算一下做开发以来这样的菜单已经写了第三次了,但基本都是不能复用.感觉特累人.不经意看到同事写一个类似的下拉菜单,但他引用了开源库仿大众菜单的库,大致看了一下, ...

  8. js导航下拉菜单

    使用定时器.鼠标移动事件 var img = $('#user_head'); var menu = $('.nav_list'); var i=0; var timer; img.mouseente ...

  9. 一个css和js结合的下拉菜单,支持主流浏览器

    首先声明: 本人尽管在web前端岗位干了好多年,但无奈岗位对技术要求不高.html,css用的比較多,JavaScript自己原创的非常少,基本都是copy改动,所以自己真正动手写时,发现基础非常不坚 ...

随机推荐

  1. MySQL 语句大全--------添加列,修改列,删除列

    ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table ...

  2. 禅道PMS兼容redmine用户认证接口

    项目地址:https://github.com/web3d/zentao-redmine-userauth zentao-redmine-userauth 做了一个基本的用户认证接口,兼容redmin ...

  3. RSA加密解密(python版)

    RSA的算法涉及三个参数,n.e.d. 其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度. e1和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质: ...

  4. Struts 2.3.24源码解析+Struts2拦截参数,处理请求,返回到前台过程详析

    Struts2官网:http://struts.apache.org/ 目前最新版本:Struts 2.3.24 Struts1已经完全被淘汰了,而Struts2是借鉴了webwork的设计理念而设计 ...

  5. Verilog学习笔记设计和验证篇(五)...............层次化事件队列

    详细的了解层次化事件队列有助于理解Verilog的阻塞赋值和非阻塞赋值功能.所谓层次化事件队列指的是用于调度仿真时间的不同Verilog事件队列.在IEEE的5.3节中定义了层次化事件队列在逻辑上分为 ...

  6. mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较

    最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7 ...

  7. Linux修改SSH端口,并禁止Root远程登陆

    1.更改ssh远程登录端口: #vi /etc/ssh/ssh_config将port改为你想要的端口,例如8888.默认是#port 22,把#号删掉改为 port 8888即可. 还要更改以下文件 ...

  8. Spring IoC源码解读——谈谈bean的几种状态

    阅读Spring IoC部分源码有一段时间了,经过不断的单步调试和参阅资料,对Spring容器中bean管理有了一定的了解.这里从bean的几个状态的角度出发,研究下IoC容器. 一.原材料 Xml中 ...

  9. 【追寻javascript高手之路05】理解事件流

    前言 新的一天又开始了,我们对今天对未来抱有很大期待,所以开始我们今天的学习吧,在此之前来点题外话,还是爱好问题. 周三的面试虽然失败,但是也是很有启迪的,比如之前我就从来没有想过爱好问题,我发现我的 ...

  10. getDate()返回日期不一致问题引发的bug

    问题描述 最近在webapp的开发中遇到一个Date对象中getDate获取日期的兼容性问题,Date对象的getDate方法返回的日期和传入的日期不一致,例如: 在android 4.3以下版本,g ...