1、右侧导航

tree.js

  1. function Toggle(e){
  2. if(!document.getElementById) return;
  3. if(!e) var e = window.event;
  4. whichlink=(e.target)? e.target.id: e.srcElement.id;
  5. obj=document.getElementById(whichlink+"menu");
  6. visible=(obj.style.display=="block")
  7. key=document.getElementById(whichlink);
  8. keyname=key.firstChild.nodeValue.substring(3);
  9. if(visible){
  10. obj.style.display="none";
  11. key.firstChild.nodeValue="[+]"+keyname;
  12. }else{
  13. obj.style.display="block";
  14. key.firstChild.nodeValue="[-]"+keyname;
  15. }
  16. }
  17. document.getElementById("products").onclick=Toggle;
  18. document.getElementById("support").onclick=Toggle;
  19. document.getElementById("contact").onclick=Toggle;

tree.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Navigation Tree</title>
  6. <style>
  7. A{text-decoration: none;}
  8. #productsmenu,#supportmenu,#contactmenu{
  9. display: none;
  10. margin-left: 2em;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>Navigation Tree Example</h1>
  16. <p>The Navigation tree below allows you to expand and collapse items.</p>
  17. <ul>
  18. <li>
  19. <a href="#" id="products">[+]Products</a>
  20. <ul ID="productsmenu">
  21. <li><a href="">Product List</a></li>
  22. <li><a href="">Order Form</a></li>
  23. <li><a href="">Price List</a></li>
  24. </ul>
  25. </li>
  26. <li>
  27. <a href="#" id="support">[+]Support</a>
  28. <ul ID="supportmenu">
  29. <li><a href="">Product List</a></li>
  30. <li><a href="">Order Form</a></li>
  31. </ul>
  32. </li>
  33. <li>
  34. <a href="#" id="contact">[+]Contact</a>
  35. <ul ID="contactmenu">
  36. <li><a href="">Product List</a></li>
  37. <li><a href="">Order Form</a></li>
  38. </ul>
  39. </li>
  40. </ul>
  41. <script language="JavaScript" type="text/javascript" src="tree.js">
  42. </script>
  43. </body>
  44. </html>

2、下拉导航

dropdown.js

  1. var t=false,cuurent;
  2.  
  3. function SetupMenu(){
  4. if(!document.getElementsByTagName()) return;
  5. items=document.getElementsByTagName("li");
  6. for(i=0;i<items.length;i++){
  7. if(items[i].className != "menu") continue;
  8. thelink = findChild(items[i],"A");
  9. thelink.onmouseover=ShowMenu;
  10. thelink.onmouseout=StartTimer;
  11. if(ul=findChild(items[i],"UL")){
  12. ul.style.display = "none";
  13. for(j=0;j<ul.childNodes.length;j++){
  14. ul.childNodes[j].onmouseover=ResetTimer;
  15. ul.childNodes[j].onmouseout=StartTimer;
  16. }
  17. }
  18. }
  19. }
  20.  
  21. function findChild(obj,tag){
  22. cn = obj.childNodes;
  23. for(k=0;k<cn.length;k++){
  24. if(cn[k].nodeName==tag) return cn[k];
  25. }
  26. return false;
  27. }
  28.  
  29. function ShowMenu(){
  30. if(!e) var e = window.event;
  31. thislink = (e.target)? e.target: e.srcElement;
  32. ResetTimer();
  33. if(cuurent) HideMenu(cuurent);
  34. thislink = thislink.parentNode;
  35. cuurent=thislink;
  36. ul=findChild(thislink,"UL");
  37. if(!ul) return;
  38. ul.style.display="block";
  39. }
  40.  
  41. function HideMenu(thelink){
  42. ul=findChild(thelink,"UL");
  43. if(!ul) return;
  44. ul.style.display="none";
  45. }
  46.  
  47. function ResetTimer(){
  48. if(t) window.clearTimeout(t);
  49. }
  50.  
  51. function StartTimer(){
  52. t= window.setTimeout("HideMenu(cuurent)",200);
  53. }
  54.  
  55. window.onload=SetupMenu;

dropdown.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>A DOM dorp_down menu</title>
  6. <link rel="stylesheet" href="dropdown.css " type="text/css"/>
  7. <script language="JavaScript" type="text/javascript" src="dropdown.js"></script>
  8. </head>
  9. <body>
  10. <h1>Menu Test</h1>
  11. <ul id="menu">
  12. <li class="menu"><a href="#">Home</a></li>
  13. <li class="menu"><a href="#">Products</a>
  14. <ul>
  15. <li><a href="#">SubItem1</a></li>
  16. <li><a href="#">SubItem2</a></li>
  17. <li><a href="#">SubItem3</a></li>
  18. </ul>
  19. </li>
  20. <li class="menu"><a href="#">Supprot</a>
  21. <ul>
  22. <li><a href="#">SubItem1</a></li>
  23. <li><a href="#">SubItem2</a></li>
  24. <li><a href="#">SubItem3</a></li>
  25. </ul>
  26. </li>
  27. <li class="menu"><a href="#">Employee</a>
  28. <ul>
  29. <li><a href="#">SubItem1</a></li>
  30. <li><a href="#">SubItem2</a></li>
  31. </ul>
  32. </li>
  33. <li class="menu"><a href="#">Contact Us</a>
  34. <ul>
  35. <li><a href="#">SubItem1</a></li>
  36. <li><a href="#">SubItem2</a></li>
  37. <li><a href="#">SubItem3</a></li>
  38. </ul>
  39. </li>
  40. </ul>
  41. </body>
  42. </html>

dropdown.css

  1. #menu{
  2. position: absolute;
  3. }
  4. #menu li{
  5. float: left;
  6. list-style-type: none;
  7. padding-right: 20px;
  8. width: 100px;
  9. background-color: silver;
  10. }
  11.  
  12. #menu li ul{
  13. background-color: silver;
  14. margin: 0px;
  15. padding: 0px;
  16. }
  17.  
  18. #menu li ul li{
  19. padding: 0px;
  20. margin: 0px;
  21. float: none;
  22. list-style-type: none;
  23. width: 80px;
  24. }

Javascript下拉导航的更多相关文章

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

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

  2. jQuery实现淡入淡出二级下拉导航菜单的方法

    本文实例讲述了jQuery实现淡入淡出二级下拉导航菜单的方法.分享给大家供大家参考.具体如下: 这是一款基于jQuery实现的导航菜单,淡入淡出二级的菜单导航,很经常见到的效果,这里使用的是jquer ...

  3. 一、简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏

    一.简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏 <html lang="en"> <head> <meta charset=" ...

  4. 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...

  5. 通过html和css做出下拉导航栏的效果

    通过观察了百度的首页,对于更多产品一栏,觉得可以不涉及JS便可写出下拉导航栏的效果 1.先设计出大体的框架 <div class="nav"> <ul> & ...

  6. 纯CSS实现二级下拉导航菜单

    这是一款纯CSS菜单,二级下拉导航效果,是最简洁的CSS导航菜单,兼容性也很棒,IE7/8.火狐等都支持,而且它还是学习CSS菜单编写的典型教程,让你学会很多CSS技巧. 运行效果截图如下: < ...

  7. CSS制作一个简单网页的下拉导航栏

    网页下拉导航栏的制作 网页下拉导航栏的制作很简单,只需要运用好CSS中伪选择器. 首先说明几个简单的伪选择器(比较常用的): link:连接平常的状态 visited:连接被访问过之后 hover:鼠 ...

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

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

  9. 一款jQuery立体感动态下拉导航菜单特效

    一款jQuery立体感动态下拉导航菜单特效,鼠标经过,在菜单栏上方下拉出一个背景图片,效果十分不错的一款jquery特效. 对IE6都是兼容的,希望大家好好研究研究. 适用浏览器:IE6.IE7.IE ...

随机推荐

  1. spring mvc文件上传

    package com.haier.controller.newuser; import com.haier.commons.entity.Response; import com.haier.com ...

  2. Intent四个重要属性

    Intent四个重要属性   Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自 ...

  3. Sprint(第十天11.23)

  4. UTF-8 ->GBK

    /** * GBK->UTF8 */ //方法一 旧方法 //NSString *encode1 = [@"%E6%88%91" stringByReplacingPerce ...

  5. 剑指offer四:链表中倒数第k个结点

    输入一个链表,输出该链表中倒数第K个结点 public class ListNode { int val; ListNode next = null; ListNode(int val) { this ...

  6. display inline-block 垂直居中

    table td:after {display:inline-block;width:0;height:100%;vertical-align:middle;content:'';}

  7. js和jquery获取当前对象的子元素

    开发中经常遇到需要获取ul下的il对象,个人总结了js和jquery的方法. HTML片断: <ul class="box"> <li>子元素1</l ...

  8. 第一次写Web API接口

    API是什么?只知道是网络接口,具体怎么写?不会!如何调用?不会!那怎么办? 第一次的经历~~ 需求:为其他项目提供一个接口 功能:为项目提供询盘信息和商家信息,格式为Json字符串 拿过来,就开始做 ...

  9. 【Java】Annotation_学习笔记

    Annotation 1.APT: 访问和处理Annotation的工具统称,即Annotation Process Tool. 2.java.lang下提供的五种基本Annotation: @Ove ...

  10. [经验] Win7减肥攻略(删文件不删功能、简化优化系统不简优化性能)

    [经验] Win7减肥攻略(删文件不删功能.简化优化系统不简优化性能) ☆心梦无痕☆ 发表于 2014-1-24 11:15:04 https://www.itsk.com/thread-316471 ...