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 相关文章推荐
点击下载链接 弹出页面实现代码
Oct 01 Javascript
HTML上传控件取消选择
Mar 06 Javascript
动态加载script文件的两种方法
Aug 15 Javascript
jQuery+HTML5美女瀑布流布局实现方法
Sep 21 Javascript
动态设置form表单的action属性的值的简单方法
May 25 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
一文快速详解前端框架 Vue 最强大的功能
May 21 Javascript
webpack4之如何编写loader的方法步骤
Jun 06 Javascript
全面解析JavaScript Module模式
Jul 24 Javascript
JS数组的常用方法整理
Mar 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伪静态写法附代码
2008/06/20 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
javascript 面向对象继承
2009/11/26 Javascript
firefox插件Firebug的使用教程
2010/01/02 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
JavaScript指定断点操作实例教程
2018/09/18 Javascript
js实现内置计时器
2019/12/16 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
django admin组件使用方法详解
2019/07/19 Python
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
工程安全员岗位职责
2014/03/09 职场文书
高中生评语大全
2014/04/25 职场文书
中学清明节活动总结
2014/07/04 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
2015年化验室工作总结
2015/04/23 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android