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 相关文章推荐
帮助避免错误的Javascript陷阱清单
May 31 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
js实现图片左右滚动效果
Feb 27 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
Dec 21 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
node中IO以及定时器优先级详解
May 10 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递归列出所有文件和目录的代码
2008/09/10 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
js获取url中指定参数值的示例代码
2013/12/14 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
javascript模块化简单解析
2016/04/07 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python函数和模块的使用总结
2019/05/20 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
幼儿教师寄语集锦
2014/04/03 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
网络管理员岗位职责
2015/02/12 职场文书
统计员岗位职责范本
2015/04/14 职场文书
电影雷锋观后感
2015/06/10 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
MySQL 时间类型的选择
2021/06/05 MySQL
python基础之类属性和实例属性
2021/10/24 Python
php双向队列实例讲解
2021/11/17 PHP