实现效果图如下:

说明:

1、css隐藏分组下的好友内容;

2、Jquery实现点击分组项事件,实现好友内容的显示和隐藏;

3、样式1,可展开多个分组;样式2,只能有一个分组展开;

源码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css">
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<style>
*{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
.contact-ul{margin-top:10px;font-size:14px;}
.contact-ul>.contact-li{
text-align: left;
border-bottom: 1px solid #E0E0E0;
padding:10px;
}
.contact-ul>.contact-li:hover{
cursor:pointer;
}
.contact-ul>.contact-li:last-child{border-bottom:0px;width:100%;}
.contact-ul>.contact-li>.contact-content{
display: none;
}
.fa-box{width:100%;overflow-y:auto;position:absolute;bottom:60px;top:50px;}
.fa-box-item{
width:100%;
padding-left:10px;
padding-top:5px;
padding-bottom:5px;
background:white;
border-bottom:1px solid rgba(160,160,160,.3);
overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.fa-box-item:hover{
cursor:pointer;
}
.fa-box-item:last-child{border-bottom:0px;}
.fa-box-item-left{width:40px;height:40px;float:left;background:pink;border-radius:50%;position:relative;}
.fa-box-item-right{height:40px;max-width:65%;float:left;padding-left:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.fa-color-red{color:rgba(200,0,0,.8);}
</style>
<script type="text/javascript">
$(function(){
$("#contact-ul>.contact-li>.contact-group").click(function(){
if($(this).find("i").hasClass("fa-angle-down")){
/**设置当前选中图标**/
$(this).find("i").removeClass("fa-angle-down");
$(this).find("i").addClass("fa-angle-up");
/**样式1:只关注当前项**/
$(this).nextAll().slideDown();
/**样式2:设置显示当前内容,其他组内容隐藏,未选中图标**/
//$(this).nextAll().slideDown().end().parent().siblings().children(".contact-content").hide();
//$(this).parent().siblings().children("div").children("i").removeClass("fa-angle-up").addClass("fa-angle-down");
}else{
/**设置当前取消选中图标**/
$(this).find("i").removeClass("fa-angle-up");
$(this).find("i").addClass("fa-angle-down");
/**样式1:只关注当前项**/
$(this).nextAll().slideUp();
/**样式2:设置所有内容隐藏,未选中图标**/
//$(this).nextAll().slideUp().end().parent().siblings().children(".contact-content").hide();
//$(this).parent().siblings().children("div").children("i").removeClass("fa-angle-up").addClass("fa-angle-down");;
}
});
}); </script>
</head>
<body>
<div class="contact-ul" id="contact-ul">
<div class="contact-li">
<div class="contact-group"> <i class="fa fa-angle-down"></i> 好友</div>
<div class="contact-content">
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
</div>
</div>
<div class="contact-li">
<div class="contact-group"> <i class="fa fa-angle-down"></i> 好友2</div>
<div class="contact-content">
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
</div>
</div>
<div class="contact-li">
<div class="contact-group"> <i class="fa fa-angle-down"></i> 好友3</div>
<div class="contact-content">
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
</div>
</div>
<div class="contact-li">
<div class="contact-group"> <i class="fa fa-angle-down"></i> 好友4</div>
<div class="contact-content">
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
<div class="fa-box-item">
<div class="fa-box-item-left"></div>
<div class="fa-box-item-right">王三 <span class="fa-size-xxs">在线</span><br><i class="fa fa-heart fa-color-red fa-size-xxs" ></i>世界之大世界之大世界之大世界之大世界之大世界之大世界之大世界之大</div>
</div>
</div>
</div>
</div> </div> </body>
</html>

CSS+Jquery实现QQ分组列表的更多相关文章

  1. Android ExpandableListView BaseExpandableListAdapter (类似QQ分组列表)

    分组列表视图(ExpandableListView) 和ListView不同的是它是一个两级的滚动列表视图,每一个组可以展开,显示一些子项,类似于QQ列表,这些项目来至于ExpandableListA ...

  2. QQ分组显示列表ExpandableListView组件应用源码

    ExpandableListView又称为可扩展的ListView组件,他和ListView组件很相似 不过每行的显示有两个xml文件,一个xml文件用于定义分组列表的显示风格, 还有一个xml文件用 ...

  3. js高仿QQ消息列表左滑功能

    该组件,主要功能类似于QQ消息列表左滑出现删除.标为已读等按钮的功能:现在的版本用的是纯javaScript编写:后续会跟进 angularJs 开发的类似组件以及jquery的; 下面,就让我们来认 ...

  4. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)

    iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...

  5. [iOS基础控件 - 6.9.3] QQ好友列表Demo TableView

    A.需求 1.使用plist数据,展示类似QQ好友列表的分组.组内成员显示缩进功能 2.组名使用Header,展示箭头图标.组名.组内人数和上线人数 3.点击组名,伸展.缩回好友组   code so ...

  6. Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表

    在上一边博客<Web版RSS阅读器(一)——dom4j读取xml(opml)文件>中已经讲过如何读取rss订阅文件了.这次就把订阅的文件读取到页面上,使用树形结构进行加载显示. 不打算使用 ...

  7. WPF 自定义TreeView控件样式,仿QQ联系人列表

    一.前言 TreeView控件在项目中使用比较频繁,普通的TreeView并不能满足我们的需求.因此我们需要滴对TreeView进行改造.下面的内容将介绍仿QQ联系人TreeView样式及TreeVi ...

  8. ExpandableListView仿QQ好友列表

    本例中,对ExpandableListView中的数据进行了封装,分为两个JavaBean,一个为Group类表示组信息,一个Child类表示该组下子列表信息: Group: public class ...

  9. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

随机推荐

  1. Farseer.net轻量级ORM开源框架 V1.0 开发目标

    本篇主要给大家说明下在V1.0中,计划开发的任务的状态.按照国际惯例.上大表格 开发计划状态 编号 模块 状态 说明 1  分离Utils.Extend.UI  √  在V0.2版本中,是集成在一个项 ...

  2. vue路由细节探讨

    1.使用router-link 不会让页面刷新,使用a标签会使页面刷新.2.router-link 里面的to="/路由地址" tag=""自定义标签" ...

  3. Servlet相关的几种中文乱码问题

    Servlet相关的几种中文乱码问题浏览器调用jsp,html等页面中文显示乱码使得文件本身以utf-8字符集编辑保存 让浏览器浏览器以utf-8字符集解析 在浏览器中右键选择编码格式为utf-8: ...

  4. bzip2 一种块排序文件压缩软件

    总览 bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ] bunzip2 [ -fkvsVL ] [ filenames ... ] bzcat [ - ...

  5. centos7 安装后,意外出现Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]

    安装完成centos7后出现如下提示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License informat ...

  6. JAVA编程不得不看的几本经典书籍

    为了帮助对java编程感兴趣的同学更好.更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考. 入门类 1.<java从入门到精通>(第3版) ...

  7. 01Hibernate

    Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自 ...

  8. Kotlin – CharSequence IsNullOrBlank() vs IsNullOrEmpty()

    本文摘自:http://blog.farifam.com/2018/01/28/kotlin-charsequence-isnullorblank-vs-isnullorempty/ Koltin p ...

  9. xingo的demo部署

    1)安装go 2)安装git xingo默认使用google protobuf来进行序列化和反序列化操作,所以需要安装 go get  github.com/golang/protobuf/proto ...

  10. HDU - 2058 The sum problem(思路题)

    题目: Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the ...