JavaScript 下拉菜单

2009-05-09 浏览:1541
JavaScript 下拉菜单
评论:(0)复制地址

简易版 JavaScript 下拉菜单。其实用 JS 实现下拉菜单比 CSS 简单多了,因为各个浏览器之间对 JS 支持的差异相比 CSS 来说要小一些,不需要花那么多心思用在对付浏览器上。如果 HTML 的结构良好,只需要很少的 JS 代码即可实现,而且可以实现多级下拉菜单的效果。

页面源代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
<title>JavaScript下拉菜单</title>
    
<style type="text/css">
        * {
            padding:0;
            margin:0;
        }
        body {
            font-family:verdana, sans-serif;
            font-size:small;
        }
        #navigation, #navigation li ul {
            list-style-type:none;
        }
        #navigation {
            margin:20px;
        }
        #navigation li {
            float:left;
            text-align:center;
            position:relative;
        }
        #navigation li a:link, #navigation li a:visited {
            display:block;
            text-decoration:none;
            color:#000;
            width:120px;
            height:40px;
            line-height:40px;
            border:1px solid #fff;
            border-width:1px 1px 0 0;
            background:#c5dbf2;
            padding-left:10px;
        }
        #navigation li a:hover {
            color:#fff;
            background:#2687eb;
        }
        #navigation li ul li a:hover {
            color:#fff;
            background:#6b839c;
        }
        #navigation li ul {
            display:none;
            position:absolute;
            top:40px;
            left:0;
            margin-top:1px;
            width:120px;
        }
        #navigation li ul li ul {
            display:none;
            position:absolute;
            top:0px;
            left:130px;
            margin-top:0;
            margin-left:1px;
            width:120px;
        }
    
</style>
    
<script type="text/javascript">
        function displaySubMenu(li) {
            var subMenu = li.getElementsByTagName("ul")[0];
            subMenu.style.display = "block";
        }
        function hideSubMenu(li) {
            var subMenu = li.getElementsByTagName("ul")[0];
            subMenu.style.display = "none";
        }
    
</script>
</head>
<body>
    
<ul id="navigation">
        
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)">
            
<a href="#">栏目1</a>   
            
<ul>
                
<li><a href="#">栏目1->菜单1</a></li>
                
<li><a href="#">栏目1->菜单2</a></li>
                
<li><a href="#">栏目1->菜单3</a></li>
                
<li><a href="#">栏目1->菜单4</a></li>
            
</ul>
        
</li>
        
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)">
            
<a href="#">栏目2</a>   
            
<ul>
                
<li><a href="#">栏目2->菜单1</a></li>
                
<li><a href="#">栏目2->菜单2</a></li>
                
<li><a href="#">栏目2->菜单3</a></li>
                
<li><a href="#">栏目2->菜单4</a></li>
                
<li><a href="#">栏目2->菜单5</a></li>
            
</ul>
        
</li>
        
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)">
            
<a href="#">栏目3</a>   
            
<ul>
                
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)">
                    
<a href="#">栏目3->菜单1</a>
                    
<ul>
                        
<li><a href="#">菜单1->子菜单1</a></li>
                        
<li><a href="#">菜单1->子菜单2</a></li>
                        
<li><a href="#">菜单1->子菜单3</a></li>
                        
<li><a href="#">菜单1->子菜单4</a></li>
                    
</ul>
                
</li>
                
<li><a href="#">栏目3->菜单2</a></li>
                
<li onmouseover="displaySubMenu(this)" onmouseout="hideSubMenu(this)">
                    
<a href="#">栏目3->菜单3</a>
                    
<ul>
                        
<li><a href="#">菜单3->子菜单1</a></li>
                        
<li><a href="#">菜单3->子菜单2</a></li>
                        
<li><a href="#">菜单3->子菜单3</a></li>
                    
</ul>
                
</li>
            
</ul>
        
</li>
    
</ul>
</body>
</html>
评论:(0)复制地址
发布:苗景云 | 分类:IT技术&设计 | Tags:下拉菜单 JS CSS

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。