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 相关文章推荐
Prototype Function对象 学习
Jul 12 Javascript
js下用层来实现select的title提示属性
Feb 23 Javascript
js getBoundingClientRect() 来获取页面元素的位置
Nov 25 Javascript
JS弹出窗口代码大全(详细整理)
Dec 21 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
基于jQuery的ajax方法封装
Jul 14 Javascript
详解vue.js组件化开发实践
Dec 14 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
JavaScript 完成注册页面表单校验的实例
Aug 19 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
基于javascript实现放大镜特效
Dec 03 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 Stream_*系列函数
2010/08/01 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python fileinput模块使用实例
2015/06/03 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
python 字典访问的三种方法小结
2019/12/05 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
使用Python实现牛顿法求极值
2020/02/10 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
2015年度团总支工作总结
2015/04/23 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers