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中animate动画积累的解决方法
Oct 05 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
Nov 17 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
Sep 17 Javascript
前端js弹出框组件使用方法
Aug 24 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
postman+json+springmvc测试批量添加实例
Mar 31 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 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递归调用与静态变量使用
2012/12/16 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
actionscript与javascript的区别
2011/05/25 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
python实现逻辑回归的方法示例
2017/05/02 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
如何用Python 加密文件
2020/09/10 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
医学毕业生自荐信
2013/10/11 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
司机辞职报告范文
2014/01/20 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
2014年冬季防火方案
2014/05/21 职场文书
社区禁毒工作方案
2014/06/02 职场文书
政风行风建设责任书
2014/07/23 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
报名委托书
2015/01/29 职场文书
党员评议自我评价
2015/03/03 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
初中英语教学随笔
2015/08/15 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
Python中使用subprocess库创建附加进程
2021/05/11 Python