zoukankan      html  css  js  c++  java
  • Javascript制作伸缩的二级菜单

    1.javascript方法

    <style>
            #navigation {
                width: 200px;
                font-family: Arial;
            }
            #navigation > ul {
                list-style-type: none;
                /* 不显示项目符号 */
                
                margin: 0px;
                padding: 0px;
            }
            #navigation > ul > li {
                border-bottom: 1px solid #ED9F9F;
                /* 添加下划线 */
            }
            #navigation > ul > li > a {
                display: block;
                /* 区块显示 */
                
                padding: 5px 5px 5px 0.5em;
                text-decoration: none;
                border-left: 12px solid #711515;
                /* 左边的粗红边 */
                
                border-right: 1px solid #711515;
                /* 右侧阴影 */
            }
            #navigation > ul > li > a:link,
            #navigation > ul > li > a:visited {
                background-color: #c11136;
                color: #FFFFFF;
            }
            #navigation > ul > li > a:hover {
                /* 鼠标经过时 */
                
                background-color: #990020;
                /* 改变背景色 */
                
                color: #ffff00;
                /* 改变文字颜色 */
            }
            /* 子菜单的CSS样式 */
            
            #navigation ul li ul {
                list-style-type: none;
                margin: 0px;
                padding: 0px 0px 0px 0px;
            }
            #navigation ul li ul li {
                border-top: 1px solid #ED9F9F;
            }
            #navigation ul li ul li a {
                display: block;
                padding: 3px 3px 3px 0.5em;
                text-decoration: none;
                border-left: 28px solid #a71f1f;
                border-right: 1px solid #711515;
            }
            #navigation ul li ul li a:link,
            #navigation ul li ul li a:visited {
                background-color: #e85070;
                color: #FFFFFF;
            }
            #navigation ul li ul li a:hover {
                background-color: #c2425d;
                color: #ffff00;
            }
            #navigation ul li ul.myHide {
                /* 隐藏子菜单 */
                
                display: none;
            }
            #navigation ul li ul.myShow {
                /* 显示子菜单 */
                
                display: block;
            }
        </style>
    
    
            <script type="text/javascript">
                function changemenu() {
                    //通过父元素li,找到兄弟元素ul
                    var bList = this.parentNode.getElementsByTagName("ul")[0];
                    //CSS交替更换来实现显、隐
                    if (bList.className == "myHide")
                        bList.className = "myShow";
                    else
                        bList.className = "myHide";
                }
                window.onload = function() {
                    var oList = document.getElementById("listUL");
                    var nList = oList.childNodes; //子元素
                    var sList;
                    for (var i = 0; i < nList.length; i++) {
                        //如果子元素为li,且这个li有子菜单ul
                        if (nList[i].tagName == "LI" && nList[i].getElementsByTagName("ul").length) {
                            slist = nList[i].firstChild; //找到超链接
                            slist.onclick =  changemenu; //动态添加点击函数
                        }
                    }
                }
            </script>
    
            <div>
                <div id="navigation">
                    <ul id="listUL">
                        <li><a href="#">Home</a>
                        </li>
                        <li><a href="#">News</a>
                            <ul class="myHide">
                                <li><a href="#">Lastest News</a>
                                </li>
                                <li><a href="#">All News</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">Sports</a>
                            <ul class="myHide">
                                <li><a href="#">Basketball</a>
                                </li>
                                <li><a href="#">Football</a>
                                </li>
                                <li><a href="#">Volleyball</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">Weather</a>
                            <ul class="myHide">
                                <li><a href="#">Today's Weather</a>
                                </li>
                                <li><a href="#">Forecast</a>
                                </li>
                            </ul>
                        </li>
                        <li><a href="#">Contact Me</a>
                        </li>
                    </ul>
                </div>
    
            </div>

     2.附jQuery方法

    <script type="text/javascript">
                $(function() {
                    //找到所有li标记中包含的ul标记
                    //然后找到它的前一个标记(即<a>),并添加click()事件
                    $("li").find("ul").prev().click(function() {
                        //点击<a>时让它后面的兄弟(即<ul>)切换CSS样式
                        $(this).next().toggleClass("myHide");
                    });
                });
            </script>

      3.附jQuery toggle()方法

    <script language="javascript">
    $(function(){
        $("li").find("ul").prev().click(function(){
            $(this).next().toggle();
        });
        $("li:has(ul)").find("ul").hide();
    });
    </script>
  • 相关阅读:
    leetcode 673. 最长递增子序列的个数 java
    leetcode 148. 排序链表 java
    leetcode 98. 验证二叉搜索树 java
    leetcode 29. 两数相除 java
    leetcode 234. 回文链表 java
    Valid Palindrome LeetCode Java
    Single Number II LeetCode Java
    Single Number LeetCode java
    Search in Rotated Sorted Array II LeetCode Java
    Search in Rotated Sorted Array leetcode java
  • 原文地址:https://www.cnblogs.com/ahthw/p/4216067.html
Copyright © 2011-2022 走看看