热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js二级导航

js写二级导航要点1.ulli2.js获取元素3.setInterval(function(),time);代码如下111121314一级菜单151

js写二级导航要点

1.ul li

2.js获取元素

3.setInterval(function(),time);

代码如下

 1 <style type="text/css">
 2 ul,li,body{margin:0;padding: 0;}
 3 #nav{width: 500px;margin: 10px auto;}
 4     ul li{list-style: none;}
 5     .clear{clear: both;}
 6     #nav>li{float: left;position: relative;}
 7     li a{display: block;width: 100px;height: 30px;line-height: 30px;text-align:center;background-color: #ccc;text-decoration: none;color: #333;}
 8     li a:hover{background: #c66;color: #fff;}
 9     li ul{height: 0px;overflow: hidden;position: absolute;top:30px;}
10 style>
11 <body>
12     <ul id="nav">
13         <li>
14             <a href="#">一级菜单a>
15             <ul class="subNav">
16                 <li><a href="#">二级菜单a>li>
17                 <li><a href="#">二级菜单a>li>
18                 <li><a href="#">二级菜单a>li>
19                 <li><a href="#">二级菜单a>li>
20             ul>
21         li>
22         <li>
23             <a href="#">一级菜单a>
24             <ul class="subNav">
25                 <li><a href="#">二级菜单a>li>
26                 <li><a href="#">二级菜单a>li>
27                 <li><a href="#">二级菜单a>li>
28                 <li><a href="#">二级菜单a>li>
29             ul>
30         li>
31         <li><a href="#">一级菜单a>li>
32         <li><a href="#">一级菜单a>li>
33         <li><a href="#">一级菜单a>li>
34         <div class="clear">div>
35     ul>
36     <script type="text/Javascript">
37     var nav=document.getElementById("nav");
38     var oLi=nav.getElementsByTagName("li");
39     //console.log(oLi.length);
40     for(var i=0;i<oLi.length;i++){
41         oLi[i].onmouseover=function(){
42             var oUl=this.getElementsByTagName("ul")[0];
43             if(oUl){
44                 var This=oUl;
45                 clearInterval(This.time);
46                 This.time=setInterval(function(){
47                     This.style.height=This.offsetHeight+10+"px";
48                     if(This.offsetHeight>=150){
49                         clearInterval(This.time);
50                     }
51                 },10);
52             }
53         }
54         oLi[i].onmouseout=function(){
55             var oUl=this.getElementsByTagName("ul")[0];
56             if(oUl){
57                 var This=oUl;
58                 clearInterval(This.time);
59                 This.time=setInterval(function(){
60                     This.style.height=This.offsetHeight-10+"px";
61                     if(This.offsetHeight<=0){
62                         clearInterval(This.time);
63                     }
64                 },10);
65             }
66         }
67     }
68     script>

遇到的几个问题:

1,写的时候setInterval忘了写第二个时间参数,结果在火狐里出现了二级导航显示不全的问题;

2,忘记注释掉console.log(),在IE6 7 8 9里二级导航不出来,注释掉后就好了。

Note:IE 9开始 才支持  console.log

js二级导航


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • CSS3 animation动画属性详解及用法
    本文详细介绍了CSS3 animation动画的各种属性及用法,包括关键帧动画、动画名称、动画时间、动画曲线、动画延迟、动画播放次数、动画状态和动画前后的状态等。通过本文的学习,读者可以深入了解CSS3 animation动画的使用方法。 ... [详细]
  • Java源代码安全审计(二):使用Fortify-sca工具进行maven项目安全审计
    本文介绍了使用Fortify-sca工具对maven项目进行安全审计的过程。作者通过对Fortify的研究和实践,记录了解决问题的学习过程。文章详细介绍了maven项目的处理流程,包括clean、build、Analyze和Report。在安装mvn后,作者遇到了一些错误,并通过Google和Stack Overflow等资源找到了解决方法。作者分享了将一段代码添加到pom.xml中的经验,并成功进行了mvn install。 ... [详细]
  • 本文介绍了CSS样式属性text-overflow、overflow、white-space、width的使用方法和效果。通过设置这些属性,可以实现文本溢出省略号、隐藏溢出内容、禁止换行以及限制元素宽度等效果。详细讲解了每个属性的作用和用法,以及常见的应用场景和注意事项。对于前端开发者来说,掌握这些CSS样式属性的使用方法,能够更好地实现页面布局和文本显示效果。 ... [详细]
  • vb.net面试题,请大家帮忙,谢谢。如果需要讲详细一点,那就加我QQ531412815第4题,潜在的错误,这里的错误不是常规错误,属于那种只有在运行是才知道的错误:Catchex ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
  • 前端不规则图像点击_如何在前端开发的潮流中快速学习学好学以致用?
    大家好,我是致力于前端开发,前端设计,前端入门的前端小姐姐,今天为大家带来的前端新知识是【雪碧图和滑动门】,不 ... [详细]
  • 使用HTML创建弹出框以便用户输入信息
    在做项目的过程中,我们时常需要进行一些弹框操作,比如在后台管理时需要进行的一些增删改操作,这个时候我们需要使用到弹框,或者在 ... [详细]
  • backgroundposition和长图实现鼠标悬浮动画效果
    以下图片及代码均来自京东云点击这里进入京东云思路和效果图:background-position:00可以用js动态的将长图按帧数一帧一阵的展示出来效果类似gif,红框就是可视界面 ... [详细]
author-avatar
普林
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有