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 ...
随机推荐
- (1)若当前字符不是大于0的数字字符,则复制该字符于新字符串中; (2)若当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中; (3)若当前字符是一个大于0的数字字符,并且还有后继字符,设该数字字符的面值为n,将它的后继字符重复复制n+1次到新字符串中; (4)以上述一次变换为一组,在不同组之间另插入一个"_"用于分割(5))若字符串中包含有下划线'_',则变换为 \UL
package b; import java.util.Scanner; public class Zifuchuan { public static void main(String[] args) ...
- SQLServer使用表值参数,高性能批量插入数据
记得前段时间帮同事写了个解析账号并入库的小工具,来批量导入账号信息,账号量相当大,程序每读取一条记录便执行一次insert来插入数据,整整跑了一下午才把账号全部入库. 今天又接到同事类似的需求,不过这 ...
- 【转载】COM多线程原理与应用
原文:COM多线程原理与应用 目录: COM多线程原理与应用 目录: 前言: 套间: 套间的定义: 套间的分类: 套间的进入和退出: 对象的同步: 组件对象的同步: COM对象线程模型: 进程内对象线 ...
- PythonOCC 3D图形库学习—创建立方体模型
Open CASCADE(简称OCC)平台是是一个开源的C++类库,OCC主要用于开发二维和三维几何建模应用程序,包括通用的或专业的计算机辅助设计CAD系统.制造或分析领域的应用程序.仿真应用程序或图 ...
- Highlighting Text Item On Entry In Oracle Forms
Highlight a Text Item in Oracle Forms With Visual Attribute It is very necessary to highlight the cu ...
- JavaScript 拼接JSON
<script language="javascript" type="text/javascript"> var json="" ...
- 用Hbase存储Log4j日志数据:HbaseAppender
业务需求: 需求很简单,就是把多个系统的日志数据统一存储到Hbase数据库中,方便统一查看和监控. 解决思路: 写针对Hbase存储的Log4j Appender,有一个简单的日志储存策略,把Log4 ...
- 一种json生成html的思路
输入: [{ tag:"ul", attribute:{ class:"father6" }, property:{ className:"fathe ...
- C#正则表达式编程(三):Match类和Group类用法
前面两篇讲述了正则表达式的基础和一些简单的例子,这篇将稍微深入一点探讨一下正则表达式分组,在.NET中正则表达式分组是用Match类来代表的.首先先看一段代码: /// <summary> ...
- iOS - UISegmentedControl
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UISegmentedControl : UIControl <NSCoding> @available ...