JS仿QQ好友列表展开、收缩功能(第一篇)


Posted in Javascript onJuly 07, 2017

效果图如下所示:

JS仿QQ好友列表展开、收缩功能(第一篇)

html:

<ul id="list">
 <li class="lis">
  <h2>我的好友</h2>
  <ul>
   <li>张三</li>
   <li>李四</li>
   ...
  </ul>
 </li>
 <li class="lis">
  <h2>企业好友</h2>
  <ul>
   <li>小明</li>
   <li>小红</li>
   ...
  </ul>
 </li>
 <li class="lis">
  <h2>黑名单</h2>
  <ul>
   <li>哈哈</li>
   ...
  </ul>
 </li>
</ul>

css:

ul,h2 {padding: 0;margin: 0;}
li {list-style: none;}
#list {
 width: 240px;
 border: 1px solid #ccc;
 margin: 0 auto;
}
#list .lis { }
#list h2 {
 height: 30px;
 line-height: 30px;
 text-indent: 20px;/*文字缩进20px*/
 background: url(img/ico1.gif) no-repeat 5px center pink;/*前面小箭头*/
 cursor: pointer;
}
#list .active { /* 点击时添加的类名 */
 background: url(img/ico2.gif) no-repeat 5px center #ff9;
}
#list ul {display: none;}
#list ul li {
 line-height: 24px;
 border-bottom: 2px solid #fc4;
 text-indent: 24px;/*文字缩进24px*/
}

js:

window.onload = function(){   
 var list = document.getElementById('list');   
 var ah2 = list.getElementsByTagName('h2');   
 var uls = list.getElementsByTagName('ul');
 // h2要和下面的ul进行匹配,所以我们要用索引值,给h2身上添加索引值
 for(var i=0;i<ah2.length;i++){    
  ah2[i].index = i;//给h2添加索引值,点击谁就给谁添加索引值
  ah2[i].onclick = function(){
   if(this.className == ''){//判断所点击的h2标签是否有类,
    //this.index指h2身上的索引数,this指h2,h2的索引值为this.index
    uls[this.index].style.display = 'block'; 
    this.className = 'active';//给当前点击的h2添加类,更改箭头方向
   }else{
    uls[this.index].style.display = 'none';
    this.className = '';
   }
  }
 }
}

下篇给大家介绍:JS仿QQ好友列表展开、收缩功能(第二篇)

以上所述是小编给大家介绍的JS仿QQ好友列表展开、收缩功能(第一篇),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 使用手册(七)
Sep 23 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
Apr 12 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
Apr 10 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
May 24 Javascript
div模拟选择框示例代码
Nov 03 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
bootstrap精简教程_动力节点Java学院整理
Jul 14 Javascript
vue 运用mock数据的示例代码
Nov 07 Javascript
微信小程序保存多张图片的实现方法
Mar 05 Javascript
layUI实现前端分页和后端分页
Jul 27 Javascript
Vue防止白屏添加首屏动画的实例
Oct 31 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
Jul 07 #Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
Jul 07 #Javascript
详解vue.js+UEditor集成 [前后端分离项目]
Jul 07 #Javascript
JS实现搜索关键词的智能提示功能
Jul 07 #Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 #Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 #Javascript
微信小程序之绑定点击事件实例详解
Jul 07 #Javascript
You might like
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
javascript call方法使用说明
2010/01/11 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python中django学习心得
2017/12/06 Python
python实现简单加密解密机制
2019/03/19 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
python redis存入字典序列化存储教程
2020/07/16 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
教师年终个人自我评价
2013/10/04 职场文书
教师辞职报告范文
2014/01/20 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
高中生的自我评价
2014/03/04 职场文书
年终总结会主持词
2014/03/25 职场文书
学校对教师的评语
2014/04/28 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
药品营销策划方案
2014/06/15 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers
go goth封装第三方认证库示例详解
2022/08/14 Golang