使用定时器、鼠标移动事件

var img = $('#user_head');
var menu = $('.nav_list');
var i=0;
var timer;
img.mouseenter(function () {
clearTimeout(timer)
menu.show()
})
img.mouseleave(function () {
timer = window.setTimeout(function () {
menu.hide()
},500)
})
menu.mouseenter(function () {
clearTimeout(timer)
// menu.css('visibility','vidible')
})
menu.mouseleave(function () {
menu.hide()
})

使用纯css方式

  • html
<nav class="nav-swrap">
<ul>
<li><a href="#">首页</a> </li>
<li>
<a href="#">消息管理</a>
<ul class="sub-nav">
<li><a href="#1">添加用户</a> </li>
<li><a href="#">删除用户</a> </li>
<li><a href="#">查询用户</a> </li>
</ul>
</li>
<li>
<a href="#">用户管理</a>
<ul class="sub-nav">
<li><a href="#">添加用户</a> </li>
<li><a href="#">删除用户</a> </li>
<li><a href="#">修改用户</a> </li>
</ul>
</li>
<li><a href="#">头像</a></li>
</ul> </nav>
  • css
*{
padding: 0; margin: 0; list-style: none;
}
/*初始化 a */
a{
text-decoration: none; color: deepskyblue;
}
/*设置外层导航布局*/
.nav-swrap>ul{
display: -webkit-box;
width: 80%;
height: 50px;
margin: 0 auto;
}
/*外层li*/
.nav-swrap>ul>li{
-webkit-box-flex: 1;
height: 100%; line-height: 50px;
background-color: #eee;
text-align: center;
} /*内层ul, 绝对定位, 高度为0,保证鼠标移动到二级导航下,不会出现*/
.sub-nav{
padding-top: 10px;
width: 100%;
-webkit-perspective: 400px; /* 透视,站在400px前看 */
}
/*内层li*/
.sub-nav>li{
background: -webkit-linear-gradient(top, #ccc,#eee);
width: 50%;
margin: 0 auto;
}
.sub-nav{
display: none;
}
.nav-swrap>ul>li>a{
display: inline-block;
height: 100%;
width: 100%;
}
.nav-swrap>ul>li>a:hover+ul,.sub-nav:hover{
display: block;
}

js导航下拉菜单的更多相关文章

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

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

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

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

  3. 纯css和js版下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. js 联动下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. js版本下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. JS实现下拉菜单的功能

    <!DOCTYPE html> <html> <head> <meta charset = "utf8"> <title> ...

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

    相信导航栏下拉菜单是web开发最常见的一个item了.这里就不做介绍了,直接上code. Html部分 <div class="_nav"> <ul id=&qu ...

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

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

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

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

随机推荐

  1. Codeforces Gym 100513F F. Ilya Muromets 水题

    F. Ilya Muromets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513/probl ...

  2. Problem D: GJJ的日常之暴富梦(水题)

    Contest - 河南省多校连萌(四) Problem D: GJJ的日常之暴富梦 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 693  Solve ...

  3. java -io字符流FileWrite操作演示

    FileWriter字符输出流演示: /* * FiileWriter 字符流的操作 * FileWriter 的构造方法 可传递 File类型 还可以传递String类型 * * 方法 : * wr ...

  4. [USACO17FEB]Why Did the Cow Cross the Road III P(CDQ分治)

    题意 两列$n$的排列,相同的数连边,如果一对数有交叉且差的绝对值$>k$,则$++ans$,求$ans$ 题解 可以把每一个数字看成一个三元组$(x,y,z)$,其中$x$表示在第一列的位置, ...

  5. hadoop版本总结

         hadoop有两个分支:0.20.x 和0.23.x.其中0.20.x是比较稳定的版本,0.23.x中新特性更多,但相对不稳定. 其中从0.20.x 分支发展出来的是:hadoop1.0,C ...

  6. php性能优化三(PHP语言本身)

    0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册 ...

  7. C++与C的区别一

    1. C++风格数组初始化: #include <iostream> #include <array> using namespace std; void main() { / ...

  8. 【ASP.NET Core MVC 入门须知】Net Core和Net Framework 的区别

     1.简单介绍 从上面图中我们可以看到.net  主要分为三个部分 .net FrameWork,.net Core ,Xamarin XAMARIN  主要用来构建APP的主要用的是C#语言 .NE ...

  9. Spring注解学习笔记一

    一.Retention注解Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE —— 这种类型的Annotations只 ...

  10. leetcode-209-长度最小的子数组

    题目描述: 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组.如果不存在符合条件的连续子数组,返回 0. 示例: 输入: s = 7, nums ...