js二级导航
js写二级导航要点
1.ul li
2.js获取元素
3.setInterval(function(),time);
代码如下
<style type="text/css">
ul,li,body{margin:0;padding: 0;}
#nav{width: 500px;margin: 10px auto;}
ul li{list-style: none;}
.clear{clear: both;}
#nav>li{float: left;position: relative;}
li a{display: block;width: 100px;height: 30px;line-height: 30px;text-align:center;background-color: #ccc;text-decoration: none;color: #333;}
li a:hover{background: #c66;color: #fff;}
li ul{height: 0px;overflow: hidden;position: absolute;top:30px;}
</style>
<body>
<ul id="nav">
<li>
<a href="#">一级菜单</a>
<ul class="subNav">
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
</ul>
</li>
<li>
<a href="#">一级菜单</a>
<ul class="subNav">
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
</ul>
</li>
<li><a href="#">一级菜单</a></li>
<li><a href="#">一级菜单</a></li>
<li><a href="#">一级菜单</a></li>
<div class="clear"></div>
</ul>
<script type="text/javascript">
var nav=document.getElementById("nav");
var oLi=nav.getElementsByTagName("li");
//console.log(oLi.length);
for(var i=0;i<oLi.length;i++){
oLi[i].onmouseover=function(){
var oUl=this.getElementsByTagName("ul")[0];
if(oUl){
var This=oUl;
clearInterval(This.time);
This.time=setInterval(function(){
This.style.height=This.offsetHeight+10+"px";
if(This.offsetHeight>=150){
clearInterval(This.time);
}
},10);
}
}
oLi[i].onmouseout=function(){
var oUl=this.getElementsByTagName("ul")[0];
if(oUl){
var This=oUl;
clearInterval(This.time);
This.time=setInterval(function(){
This.style.height=This.offsetHeight-10+"px";
if(This.offsetHeight<=0){
clearInterval(This.time);
}
},10);
}
}
}
</script>
遇到的几个问题:
1,写的时候setInterval忘了写第二个时间参数,结果在火狐里出现了二级导航显示不全的问题;
2,忘记注释掉console.log(),在IE6 7 8 9里二级导航不出来,注释掉后就好了。
Note:IE 9开始 才支持 console.log
js二级导航的更多相关文章
- js二级导航下拉菜单
		
<!DOCTYPE html> <html> <head> <title>导航列表</title> <meta http-equiv= ...
 - JS写的二级导航栏(利用冒泡原理)
		
今天给大家分享一种用JS写的导航栏,虽然我们工作中不会使用JS来做导航栏,为了练习我们用JS来做一个JS导航栏 这种方法要比其他方法代码量少很多,但是需要对事件冒泡有一定的理解,如果需要理解冒泡可以参 ...
 - JS实现轮播图特效(带二级导航)
		
按照国际惯例先放效果图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta ...
 - jQuery制作右侧边垂直二级导航菜单
		
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - jquery-menu-aim插件实现二级导航
		
jquery-menu-aim插件是实现二级导航亚马逊式三角滑动的强力工具,它在性能上极佳,快速滑动,基本无延迟效果,源码位置见对应作者的github,接下来附上样例代码: $(function () ...
 - jQuery垂直二级导航菜单代码
		
http://www.sucaihuo.com/js/395.html 分享一个简单的垂直二级菜单导航. HTML <div id="my_menu" class=&qu ...
 - 用jquery制作一个二级导航下拉菜单
		
1使用$(function(){...})获取到想要作用的HTML元素. 2通过使用children()方法寻找子元素. 3通过使用show()方法来显示HTML元素. 4通过 ...
 - 一款基于jquery和css3的响应式二级导航菜单
		
今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览 源码下载 实现的代码. ...
 - 一款jquery编写图文下拉二级导航菜单特效
		
一款jquery编写图文下拉二级导航菜单特效,效果非常简洁大气,很不错的一款jquery导航菜单特效. 这款jquery特效适用于很多的个人和门户网站. 适用浏览器:IE8.360.FireFox.C ...
 
随机推荐
- MSM8909平台 LED背光的控制
			
之前齐师兄问我,是不是应该有一个文件记录背光灯的亮度,我说理论上有,但是在哪里我真的还没有见过.只知道在调LCD驱动的时候会调用一个背光控制的函数,传进来一个亮度值就可以配置亮度了,至于这个函数是谁调 ...
 - .Net大文件上传(转--待验证)
			
几种常见的方法,本文主要内容包括: 第一部分:首先我们来说一下如何解决ASP.net中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采 ...
 - 事务mysql
			
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
 - Oracle中创建用户和授权
			
默认的:最高权限用户:SYSTEM 密码:MANAGER 管理员权限用户:SYS 密码:CHANGE_ON_INSTALL 普通用户:SCOTT 密码:TIGER 登 陆管理员或超级管理员用户可以自己 ...
 - iOS 关于使用xib创建cell的两种初始化方式
			
[转]http://my.oschina.net/CgShare/blog/337406 方法一: 第一步: [self.collectionView registerNib:[UINib nibWi ...
 - linux Chrome 安装
			
1.wget 32bits: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64bits: ...
 - 服务器端验证--验证框架验证required.
			
struts2表单验证里field-validator type值一共可以取哪些?都什么含义? int 整数:double 实数:date 日期:expression 两数的关系比较: email E ...
 - ABAP Enhancement:第二部分
			
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
 - javascript权威指南笔记--javascript语言核心(二)
			
1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. fu ...
 - Linux配置apache等系列
			
1.Linux下安装.配置PHP环境 2.ubuntu12.0.4安装apache, php ,mysql 3 CentOs中mysql的安装与配置