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;
                        }
                    }
                }

            }

效果截图

时间: 2024-11-07 06:53:27

qq菜单的折叠与展示的相关文章

ExtJS4.2学习(21)动态菜单与表格数据展示操作总结篇2

运行效果: 此文介绍了根据操作左侧菜单在右面板展示相应内容. 一.主页 先看一下跳转主页的方式:由在webapp根目录下的index.jsp跳转至demo的index.jsp 下面是demo的index.jsp的代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% response.setHeade

android炫酷动画源码,QQ菜单、瀑布流、二维码源码

Android精选源码 自定义弹框封装,ProgressDialog,StatusDialog和Toast,支持自定义颜色 有深度感的fragment代码 在屏幕顶部或者底部显示提示 短信转发工具,自动转发短信到手机或邮箱 美观的菜单隐藏在主界面底部的抽屉导航. 仿QQ菜单.瀑布流.数据库.二维码生成 andorid实现"划词翻译"功能的项目 android界面切换的效果,输入文字时背景图缩放效果 android一款很炫的动画代码 Android雷达扫描图,超高仿QQ附近的人 Andr

通用权限管理系统之权限菜单zTree树的展示及移动的处理方法

在通用权限管理系统中,有很多数据结构是有父子关系的,如组织机构,部门,权限菜单等,在展示的时候,大多数是通过zTree树的形式展现的,如下: 权限菜单展示 这种数据后台输出比较容易处理,参考如下获取某个子系统的全部操作菜单: 后台输出zTree树的数据 /// <summary> /// 获取module树结构数据 /// </summary> /// <param name="systemCode"></param> /// <r

Android:NineGridLayout — 仿微信朋友圈和QQ空间的九宫格图片展示自定义控件

NineGridLayout 一个仿微信朋友圈和QQ空间的九宫格图片展示自定义控件. GitHub:https://github.com/HMY314/NineGridLayout 一.介绍 1.当只有1张图时,可以自己定制图片宽高,也可以使用默认九宫格的宽高: 2.当只有4张图时,以2*2的方式显示: 3.除以上两种情况下,都是按照3列方式显示,但这时有一些细节: a.如果只有9张图,当然是以3*3的方式显示: b.如果超过9张图,可以设置是否全部显示. 如果设置不完全显示,则按照3*3的方式

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添加ehcache依赖 n 配置缓存管理器 5.系统菜单根据登录人展示 n 调整页面ajax请求地址 n 服务端查询菜单数据 2 角色管理 2.1 添加角色功能 2.1.1 页面调整 首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree 他的

1.定制section 2.实现类似QQ好友的折叠功能

/* ---定制段--- 1.定制导航栏 2.创建数据元 a .分配内存和初始化 3.写两个dataSource的协议方法 //定制段头.段头中是一个按钮, 在按钮的响应事件里边,处理响应多少行,进而控制是否可以折叠.  */#import "MyTableViewController.h"@interface MyTableViewController (){    BOOL _sectionFlag[3];}@property (nonatomic) NSMutableArray

Android超高仿QQ附近的人搜索展示

如果我有机器猫 我要叫他小叮当 ~开车~~ 版权所有,转载请注明:http://blog.csdn.net/mr_immortalz/article/details/51319354 最近无意中发现了QQ群有查看附近的人的效果,感觉挺棒的,约炮神器有木有! 效果这么酷,网上有没有呢?木有!好吧,作为程序猿还是老老实实苦逼的撸吧. 1.概述 老规矩,先上图,再扯蛋(额,不对-) 这个就是我们撸出来的效果,原谅画质哈 (小米手机miui7不能用小米助手,所以录gif挺麻烦了) 原装货(就不录制gif

iOS开发--QQ音乐练习,歌词的展示,歌词的滚动,歌词的颜色变化

一.歌词的展示 -- 首先歌词是在scrollView上,scrollView的大小是两个屏幕的宽度 scrollView滚动修改透明度的代码                                                             自定义展示歌词的view,继承自UIScrollView,向外界提供一个歌词文件名的属性 /** 歌词文件的名字 */ @property(nonatomic,copy) NSString *lrcFileName; 重写setter,

[iOS基础控件 - 6.12.1] QQ菜单管理 UITabBarController 控制器管理

A.需求 1.类似QQ.微信顶部或者底部的窗口转换导航条 2.给每个页面添加相应内容 B.UITabBarController 1.基本概念: (1)内容高度 iOS7之前内容高度为:屏幕高度 - 状态栏高度44 - 底部导航条高度49 iOS7及之后,内容高度为整个屏幕 2.使用代码创建初始化 (1)创建一个UITabBarController UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewController