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 相关文章推荐
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
JavaScript获取路径设计源码
May 22 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
基于jquery实现左右按钮点击的图片切换效果
Jan 27 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
运用js教你轻松制作html音乐播放器
Apr 17 Javascript
canvas滤镜效果实现代码
Feb 06 Javascript
JSONP基础知识详解
Mar 19 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
Sep 06 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 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防注入,表单提交值转义的实现详解
2013/06/10 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
Symfony控制层深入详解
2016/03/17 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
python批量生成本地ip地址的方法
2015/03/23 Python
python win32 简单操作方法
2017/05/25 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Django实现基于类的分页功能
2019/10/31 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
python logging 日志的级别调整方式
2020/02/21 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
满月酒答谢词
2014/01/14 职场文书
学习十八大报告感言
2014/02/04 职场文书
计算机专业求职信
2014/06/02 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
公务员年度考核评语
2014/12/31 职场文书
督导岗位职责范本
2015/04/10 职场文书
「月刊Action」2022年5月号封面公开
2022/03/21 日漫
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技