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 相关文章推荐
Div自动滚动到末尾的代码
Oct 26 Javascript
jQuery之字体大小的设置方法
Feb 27 Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
JavaScript实现简单Tip提示框效果
Apr 20 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
ES6通过babel转码使用webpack使用import关键字
Dec 13 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 Javascript
详解Vue中的自定义指令
Dec 07 Vue.js
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 高手之路(二)
2006/10/09 PHP
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
微信小程序登录态控制深入分析
2017/04/12 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
Django添加feeds功能的示例
2018/08/07 Python
通过实例学习Python Excel操作
2020/01/06 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
应届生高等护理求职信
2013/10/12 职场文书
数控专业推荐信范文
2013/12/02 职场文书
营业员演讲稿
2013/12/30 职场文书
《梅兰芳学艺》教学反思
2014/02/24 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
九一八事变演讲稿
2014/09/05 职场文书
给上级领导的感谢信
2015/01/22 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python