实现效果图如下:

说明:

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. R in action读书笔记(5)-第七章:基本统计分析

    7.1描述性统计分析 > vars<-c("mpg","hp","wt") > head(mtcars[vars])    ...

  2. Node.js——render封装

    封装 挂在到res上

  3. html5开发移动混合App系列2-开发环境搭建(windows)

    Java下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html 环境变量: JAVA_HOME=C:\Progra ...

  4. shell高级用法

    参考链接: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=218853&page=7#pid1628522

  5. Flutter web环境变量搭建及开发

    使用flutter开发app已有三个月,有一些行为形成了惯性,在搭建flutter web环境变量时走了不少的坑,分享出来,免得其他小伙伴再走一遍. 首先flutter的版本要使用1.5及以上版本 d ...

  6. 数据结构之线性顺序表ArrayList(Java实现)

    一.ListMe接口: import java.util.ArrayList; //实现线性表(顺序表和链表)的接口://提供add get isEmpty size 功能public interfa ...

  7. jquery ajax 同步异步的执行

    jquery ajax 同步异步的执行   大家先看一段简单的jquery ajax 返回值的js 代码 function getReturnAjax{  $.ajax({    type:" ...

  8. [PyTorch] rnn,lstm,gru中输入输出维度

    本文中的RNN泛指LSTM,GRU等等 CNN中和RNN中batchSize的默认位置是不同的. CNN中:batchsize的位置是position 0. RNN中:batchsize的位置是pos ...

  9. 2019ICPC西安邀请赛(计蒜客复现赛)总结

    开始时因为吃饭晚了一刻钟,然后打开比赛.看了眼榜单A题已经过了二十来个队伍了,宝儿就去做A. 传师说最后一题看题目像最短路,于是我就去看M了,宝儿做完之后也来陪我看.M一开始看到时以为是像   POJ ...

  10. 指针函数(Pointer Function)和函数指针(Pointer to Function或Function Pointer)

    一.指针函数 1.解释:指针函数很好理解:简单来说,就是一个返回指针的函数,本质是一个函数.如: int fun(int x,int y);    //这是一个普通函数的声明,返回值是一个int类型, ...