javaScript 下拉菜单

使用css设置下拉菜单
html文件
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>A DOM drop-down menu</title>
    <link rel="stylesheet" type="text/css" href="dropDown.css" />
    <script 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="#">Sub-item 1</a></li>
            <li><a href="#">Sub-item 2</a></li>
            <li><a href="#">Sub-item 3</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Support</a>
        <ul>
            <li><a href="#">Sub-item 1</a></li>
            <li><a href="#">Sub-item 2</a></li>
            <li><a href="#">Sub-item 3</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Employment</a>
        <ul>
            <li><a href="#">Sub-item 1</a></li>
            <li><a href="#">Sub-item 2</a></li>
            <li><a href="#">Sub-item 3</a></li>
        </ul>
    </li>
    <li class="menu"><a href="#">Contact</a>
        <ul>
            <li><a href="#">Sub-item 1</a></li>
            <li><a href="#">Sub-item 2</a></li>
            <li><a href="#">Sub-item 3</a></li>
        </ul>
    </li>
        </ul>
</body>
</html>
css文件
#menu {
  Position:absolute;
}
    #menu li {
    float:left;
    list-style-type:none;
    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;
            }

使用脚本来设置下拉菜单
设置菜单:
SetupMenu()函数在页面加载时运行,然后配置下拉菜单。这主要包括隐藏子菜单和配置一些事件处理程序。改函数将使用一个循环来查看页面里的所有<li>元素,如果它们具有一个值为menu的class属性,就会被看做菜单的一部分。下面代码将为链接设置事件处理程序,并隐藏子菜单。
thelink=findChild(items[i[,"A");
thelink.οnmοuseοver=ShowMenu;
if(ul=findChild(items[i[),"UL"))
{
ul.style.dispaly="none";
}
显示子菜单:
ul=findChild(thelink,"UL");
if(!ul)return;
ul.style.display="block";
隐藏子菜单:
ul=findChild(thelink,"UL");
if(!ul)return;
ul.style.display="none";
下拉菜单完整JavaScript程序:
var t = false,current;
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(e)
{
    if (!e) var e = window.event;
    thislink = (e.target) ? e.target : e.srcElement;
    ResetTimer();
    if (current) HideMenu(current);
    thislink = thislink.parentNode;
    current = 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(current)",200);
}
window.onload = SetupMenu;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值