实现效果图如下:

说明:

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. struts2 <allowed-methods > 标签配置

    1.在struts2   2.5版本中添加了对方法访问的权限,如果没有被添加到<allow-method> 方法的标签,将会报一下错误 5:05:18.078 [http-apr-8020 ...

  2. linux下redis安装访问

    下载编译安装 wget http://download.redis.io/releases/redis-3.0.1.tar.gz tar xvf redis-3.0.1.tar.gz mv redis ...

  3. 更改ligerui源码实现分页样式修改

    修改后样式: 第一步:实现功能. 更改源码部分ligerui.all.js文件 读源代码,发现ligerui底部工具条是这样实现的(ps:注释部分为源码) _render: function () { ...

  4. sql发送邮件- html 格式

    ALTER PROCEDURE dbo.sx_pro_AutoEmailContent AS Begin declare @Rqty int declare @n int declare @m_rec ...

  5. table鼠标滑过变颜色

    table鼠标滑过变颜色 添加 table tr:hover{background-color: #eee;} 设置鼠标滑过行背景变色,重新刷新浏览器页面.  一般设置灰色,eee

  6. codeforces_1065_D.three pieces_思维

    题意:一个正方形棋盘,三种棋子,knight:像中国象棋中的马一样走:bishop:斜着走:rook:中国象棋中的车.棋盘中每个格子中标着1--n*n的互不相同的数字,从1开始任选一种棋子开始走,在每 ...

  7. xcode 通配搜索

    class \w*<\w*> extension \w*: \w* \{\} 搜索所有泛型类.

  8. C#委托与事件的关系(转载)

    1.C#中的事件和委托的作用?事件代表一个组件能够被关注的一种信号,比如你的大肠会向你发出想拉屎的信号,你就可以接收到上厕所.委托是可以把一个过程封装成变量进行传递并且执行的对象,比如你上蹲坑和上坐马 ...

  9. 用1天快速上手org-mode(windows系统)

    Table of Contents 1. 选择Emacs的理由--Org-mode 1.1. 现状(基于本人现有软件的使用) 1.2. 理念(够用才好) 1.3. 学习过程(少走弯路) 2. 快速安装 ...

  10. enote笔记法的思考(ver0.2)

    章节:enote笔记法的思考   enote笔记法,它是一种独特的文本标记方式与呈现方式.这一整套系统的记笔记的方法,它能够帮助我们对文本内容(例如,其中的概念.观点.思想等)更加直观和条理地进行理性 ...