zoukankan      html  css  js  c++  java
  • qq菜单的折叠与展示

     敲出每个小例子是一种进步

    html结构:

    <body>
            <ul id="list">
                <li class="lis">
                    <p>我的好友</p>
                    <ul>
                        <li><a href="javascript:;">张三</a></li>
                        <li><a href="javascript:;">李四</a></li>
                        <li><a href="javascript:;">王丽</a></li>
                    </ul>
                </li>
                <li class="lis">
                    <p>我的朋友</p>
                    <ul>
                        <li><a href="javascript:;">腾腾</a></li>
                        <li><a href="javascript:;">小红</a></li>
                        <li><a href="javascript:;">小明</a></li>
                    </ul>
                </li>
                <li class="lis">
                    <p>我的家人</p>
                    <ul>
                        <li><a href="javascript:;">爸爸</a></li>
                        <li><a href="javascript:;">妈妈</a></li>
                        <li><a href="javascript:;">弟弟</a></li>
                    </ul>
                </li>
            </ul>
        </body>

    css样式:

    #list{width:400px;overflow:hidden;margin: 0 auto;margin-top:50px;border: 10px solid #009;}
    #list p{height: 40px;line-height: 40px;padding-left: 10px;background: #f80; cursor: pointer;}
    #list ul{background: #999;display: none;}
    #list ul li{height: 30px;line-height: 30px;padding-left: 10px;}
    #list ul li.light{background: #00f;color: #fff;}
    #list a{text-decoration: none;color: #ff0;}

    js代码:

    window.onload=function(){
                    var oList=document.getElementById("list");
                    var aUl=oList.getElementsByTagName("ul");
                    var aP=oList.getElementsByTagName("p");
                    var aLi=null;
                    var arrLi=[];
                    //li的高亮显示:获取所有的li
                    for(var i=0;i<aUl.length;i++){
                        aLi=aUl[i].getElementsByTagName("li");
                        for(var j=0;j<aLi.length;j++){
                            arrLi.push(aLi[j]);
                        }
                    }
                    for(var i=0;i<arrLi.length;i++){
                        arrLi[i].onclick=function(){
                            for(var i=0;i<arrLi.length;i++){
                                    arrLi[i].className='';
                            }
                            this.className='light';
                        }
                    }
                    for(var i=0;i<aP.length;i++){
                        //自定义属性
                        aP[i].index=i;
                        aP[i].onOff=true;
                        aP[i].onclick=function(){
                            //点击展开或者折叠对应的ul
                            /*if(this.onOff){
                                aUl[this.index].style.display="block";
                                this.onOff=false;
                            }else{
                                aUl[this.index].style.display="none";
                                this.onOff=true;
                            }*/
                            
                            //类似于手风琴效果
                            if(this.onOff){
                                for(var i=0;i<aP.length;i++){
                                    aUl[i].style.display="none";
                                    aP[i].onOff=true;
                                }
                                aUl[this.index].style.display="block";
                                this.onOff=false;
                            }else{
                                for(var i=0;i<aP.length;i++){
                                    aUl[i].style.display="none";
                                }
                                this.onOff=true;
                            }
                        }
                    }
                    
                }

    效果截图

  • 相关阅读:
    下载程序的疑问
    Beaglebone环境建立:电源适配器供电+网线ssh
    Android百分比布局支持库介绍——com.android.support:percent
    android应用中去掉标题栏的方法
    自己写的进度条
    返回图片指定点的RGB值
    修改指定图片的分辨率
    跨域访问的问题和解决过程
    C#取硬盘、CPU、主板、网卡的序号 ManagementObjectSearcher
    Sql Server字符串函数
  • 原文地址:https://www.cnblogs.com/rain92/p/5899013.html
Copyright © 2011-2022 走看看