JavaScript实现QQ列表展开收缩扩展功能


Posted in Javascript onOctober 30, 2017

本文实例为大家分享了js实现QQ列表展开收缩扩展展示的具体代码,供大家参考,具体内容如下

效果图:

JavaScript实现QQ列表展开收缩扩展功能

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
ul,h2{margin:0; padding:0;}
li{list-style-type:none;}
#list{margin:0 auto; border:#333 solid 1px; width:250px;}
#list h2 {background: url(../img/ico1.gif) no-repeat 5px 14px #0C6; text-indent:20px; height:32px; line-height:32px;}
#list ul li{text-indent:25px; border-bottom:#333 solid 1px; line-height:24px; height:23px; }
#list .active{background: url(../img/ico2.gif) no-repeat 5px 14px #693; text-indent:20px; height:30px; line-height:30px;}
#list ul{display:none;}
.hover{background:#CFC;}
</style>
<script>
window.onload = function(){
var oUl = document.getElementById("list");
var aUl =oUl.getElementsByTagName("ul");
var aH2 = oUl.getElementsByTagName("h2");
var aLi = null;
var arrLi = [];
var that = null;
for(i=0;i<aH2.length;i++){
 aH2[i].index = i;
 aH2[i].onclick = function(){
 if(this.className==''){
 for(i=0;i<aH2.length;i++){
aH2[i].className='';
aUl[i].style.display='none';
 }
this.className='active';
aUl[this.index].style.display = 'block';
}else{
this.className='';
aUl[this.index].style.display='none';
 }
             }
 }
for(i=0;i<aUl.length;i++){
  aLi =aUl[i].getElementsByTagName("li");
 for(j=0;j<aLi.length;j++){
  arrLi.push(aLi[j]);
 }
}
for(var i=0;i<arrLi.length;i++){
 arrLi[i].onclick = function(){
  for(i=0; i<arrLi.length;i++){ 
arrLi[i].className='';
 }
this.className = 'hover';
}
}

};
</script>
</head>


<body>
<ul id="list">
<li class="lis">
  <h2>我的好友</h2>
  <ul>
  <li>张三</li>
   <li>张四</li>
   <li>张五</li>
   <li>张六</li>
  </ul>
 </li>
 <li class="lis">
 <h2>企业好友</h2>
  <ul>
  <li>李四</li>
   <li>李小四</li>
   <li>李四二</li>
   <li>李毅</li>
   <li>李二</li>
  </ul>
 </li>
 <li class="lis">
 <h2>黑名单</h2>
  <ul>
  <li>张三</li>
  <li>李四</li>
  </ul>
 </li>
</ul>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
详解JavaScript的表达式与运算符
Nov 30 Javascript
Underscore源码分析
Dec 30 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
Jan 28 Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
Dec 15 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 Javascript
VUE项目初建和常见问题总结
Sep 12 Javascript
Vue微信公众号网页分享的示例代码
May 28 Javascript
js实现自动锁屏功能
Jun 02 Javascript
JS实现数组去重的11种方法总结
Apr 04 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 #Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 #Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 #Javascript
JavaScript数组push方法使用注意事项
Oct 30 #Javascript
JavaScript Date对象应用实例分享
Oct 30 #Javascript
AngularJS实现controller控制器间共享数据的方法示例
Oct 30 #Javascript
Angularjs按需查询实例代码
Oct 30 #Javascript
You might like
构建简单的Webmail系统
2006/10/09 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
javascript FormatNumber函数实现方法
2008/12/30 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python实现的重启关机程序实例
2014/08/21 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python模块之re正则表达式详解
2017/02/03 Python
python框架中flask知识点总结
2018/08/17 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
初级Java程序员面试题
2016/03/03 面试题
教师个人自我鉴定
2014/02/08 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
十八大标语口号
2014/10/09 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书