Javascript下拉导航

1、右侧导航

tree.js

function Toggle(e){
        if(!document.getElementById) return;
        if(!e) var e = window.event;
        whichlink=(e.target)? e.target.id: e.srcElement.id;
        obj=document.getElementById(whichlink+"menu");
        visible=(obj.style.display=="block")
        key=document.getElementById(whichlink);
        keyname=key.firstChild.nodeValue.substring(3);
        if(visible){
            obj.style.display="none";
            key.firstChild.nodeValue="[+]"+keyname;
        }else{
            obj.style.display="block";
            key.firstChild.nodeValue="[-]"+keyname;
        }
    }
    document.getElementById("products").onclick=Toggle;
    document.getElementById("support").onclick=Toggle;
    document.getElementById("contact").onclick=Toggle;

tree.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Navigation Tree</title>
    <style>
        A{text-decoration: none;}
        #productsmenu,#supportmenu,#contactmenu{
            display: none;
            margin-left: 2em;
        }
    </style>
</head>
<body>
<h1>Navigation Tree Example</h1>
<p>The Navigation tree below allows you to expand and collapse items.</p>
<ul>
    <li>
        <a href="#" id="products">[+]Products</a>
        <ul ID="productsmenu">
            <li><a href="">Product List</a></li>
            <li><a href="">Order Form</a></li>
            <li><a href="">Price List</a></li>
        </ul>
    </li>
    <li>
        <a href="#" id="support">[+]Support</a>
        <ul ID="supportmenu">
            <li><a href="">Product List</a></li>
            <li><a href="">Order Form</a></li>
        </ul>
    </li>
    <li>
        <a href="#" id="contact">[+]Contact</a>
        <ul ID="contactmenu">
            <li><a href="">Product List</a></li>
            <li><a href="">Order Form</a></li>
        </ul>
    </li>
</ul>
<script language="JavaScript" type="text/javascript" src="tree.js">
</script>
</body>
</html>

2、下拉导航

dropdown.js

var t=false,cuurent;

function SetupMenu(){
    if(!document.getElementsByTagName()) return;
    items=document.getElementsByTagName("li");
    for(i=0;i<items.length;i++){
        if(items[i].className != "menu")    continue;
        thelink = findChild(items[i],"A");
        thelink.onmouseover=ShowMenu;
        thelink.onmouseout=StartTimer;
        if(ul=findChild(items[i],"UL")){
            ul.style.display = "none";
            for(j=0;j<ul.childNodes.length;j++){
                ul.childNodes[j].onmouseover=ResetTimer;
                ul.childNodes[j].onmouseout=StartTimer;
            }
        }
    }
}

function findChild(obj,tag){
    cn = obj.childNodes;
    for(k=0;k<cn.length;k++){
        if(cn[k].nodeName==tag) return cn[k];
    }
    return false;
}

function ShowMenu(){
    if(!e) var e = window.event;
    thislink = (e.target)? e.target: e.srcElement;
    ResetTimer();
    if(cuurent) HideMenu(cuurent);
    thislink = thislink.parentNode;
    cuurent=thislink;
    ul=findChild(thislink,"UL");
    if(!ul) return;
    ul.style.display="block";
}

function HideMenu(thelink){
    ul=findChild(thelink,"UL");
    if(!ul) return;
    ul.style.display="none";
}

function ResetTimer(){
    if(t) window.clearTimeout(t);
}

function StartTimer(){
    t= window.setTimeout("HideMenu(cuurent)",200);
}

window.onload=SetupMenu;

dropdown.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>A DOM dorp_down menu</title>
    <link rel="stylesheet" href="dropdown.css " type="text/css"/>
    <script language="JavaScript" type="text/javascript" src="dropdown.js"></script>
</head>
<body>
<h1>Menu Test</h1>
<ul id="menu">
    <li class="menu"><a href="#">Home</a></li>
    <li class="menu"><a href="#">Products</a>
        <ul>
            <li><a href="#">SubItem1</a></li>
            <li><a href="#">SubItem2</a></li>
            <li><a href="#">SubItem3</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Supprot</a>
        <ul>
            <li><a href="#">SubItem1</a></li>
            <li><a href="#">SubItem2</a></li>
            <li><a href="#">SubItem3</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Employee</a>
        <ul>
            <li><a href="#">SubItem1</a></li>
            <li><a href="#">SubItem2</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Contact Us</a>
        <ul>
            <li><a href="#">SubItem1</a></li>
            <li><a href="#">SubItem2</a></li>
            <li><a href="#">SubItem3</a></li>
        </ul>
    </li>
</ul>
</body>
</html>

dropdown.css

#menu{
    position: absolute;
}
#menu li{
    float: left;
    list-style-type: none;
    padding-right: 20px;
    width: 100px;
    background-color: silver;
}

#menu li ul{
    background-color: silver;
    margin: 0px;
    padding: 0px;
}

#menu li ul li{
    padding: 0px;
    margin: 0px;
    float: none;
    list-style-type: none;
    width: 80px;
}

时间: 2024-10-16 02:36:28

Javascript下拉导航的相关文章

jquery实现的点击二级下拉导航菜单

jquery实现的点击二级下拉导航菜单:二级下拉导航菜单是各种类型的网站都有使用,所以是一个必须掌握的技能,对于老手来说肯定是轻松加愉快,但是对于初学者来说未必如此,下面就通过代码实例详细介绍一下点击二级下拉菜单实现过程.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="htt

纯CSS实现的二级下拉导航菜单实例代码

纯CSS实现的二级下拉导航菜单实例代码:二级下拉菜单在众多的网站都有应用,不但能够有效的组织分类导航,并且能够节省大量的网站空间,也能够实现网站的动态化效果,大多数二级导航菜单都是结合javascript实现,本章节介绍一下使用纯css实现的下拉菜单.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" co

纯CSS下拉导航和jquery下拉导航对比

纯css实现的下拉导航demo:http://codepen.io/tianzi77/pen/xGOyxp 不用javascript以及jquery动态效果实现导航条的下拉效果.纯css属性实现,主要应用到绝对定位中的left:auto和left:-9999px:来隐藏或者鼠标经过的时候显示下拉菜单. htm结构: <ul class="nav"> <li><a href="/">小哲</a></li> &

基于div css下拉导航菜单分类代码

基于div css下拉导航菜单分类代码是一款绿色风格的jQuery下拉分类导航菜单.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="hc_lnav jslist"> <div class="allbtn"> <h2><a href="#"><strong> </strong>全部商品分类<i> </i><

灵巧的JS下拉导航代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery顶部固定层下拉导航

最近有人在论坛里讨论怎么制作导航菜单!我关注了一下,这里就写了一个简单的demo.供大家参考.代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航

本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected和onTabReselected方法来关联Fragment.代码如下: Java代码 private class MyTabListener implements ActionBar.TabListener { private TabCon

38 个免费开源的 CSS 下拉导航菜单

http://www.oschina.net/news/51624/38-open-source-css-dropdown-menus38 个免费开源的 CSS 下拉导航菜单,布布扣,bubuko.com

Android实现下拉导航选择菜单效果【转载地址:http://www.cnblogs.com/hanyonglu/archive/2012/07/31/2617488.html】

本文介绍在Android中如何实现下拉导航选择菜单效果.   关于下拉导航选择菜单效果在新闻客户端中用的比较多,当然也可以用在其他的项目中,这样可以很方便的选择更多的菜单.我们可以让我们的应用顶部有左右滑动或进行切换的导航菜单,也可以为了增强用户体验在应用中添加这样的下拉导航选择菜单效果. 关于它的实现原理,其实也是挺简单的,就是使用PopupWindow来进行展现,在显示时控制其高度并配置以相应的动画效果.在PopupWindow中我使用GridView来控制里面的菜单项,每个菜单项对应相应的