实现效果图如下:

说明:

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. SugarCRM安装踩雷(一)

    安装SugarCRM前置条件: 1.找对平台.正确版本的安装包 2.APACHE + MYSQL + TOMCAT环境先确保OK 坑1: 进入安装参数设置步骤的MYSQL用户密码——这里根据Mysql ...

  2. JVM 优点与缺点的深入分析

    Java 最初诞生的时候,它可以说是其他语言的进化版.不仅因为Java很简单,而且这一进化的语言还是一个可以运行第三方硬件字节码的虚拟机.它还是垃圾收集站,从而令存储管理和内核转储(core dump ...

  3. qt 5中文乱码

    头文件加上#prama execution_character_set("utf-8")

  4. JavaScript——responseType

    https://www.cnblogs.com/cdemo/p/5225848.html https://blog.csdn.net/wkyseo/article/details/78232485 异 ...

  5. 迅为iTOP-4418开发板串口虚拟控制台配置为普通串口

    如何将 iTOP-4418 的串口控制台配置为普通串口.在最终的产品中,如果需要额外的串口,可以将调试用的控制台串口作为普通串口使用,因为交付给最终用户手中的产品,一般不需要调试串口.屏蔽串口控制台需 ...

  6. jquery /css3 全屏的渐变背景

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. apm - 查询高级电源管理(APM) BIOS

    总览 apm [ - vVmsS ] 描述 apm 读取 /proc/apm 并用人能看懂的格式输出.因为提供了首要的电池状态,这个命令在有兼容的 APM BIOS 的笔记本电脑上非常有用. apm ...

  8. 正则表达式,匹配查找函数(preg_match_all)flags参数对比

    格式: int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 参数 flags 选项有以 ...

  9. Windows命名规则

    函数名: ·参照 Windows API 的命名规范. ·推荐使用动宾结构.函数名应清晰反映函数的功能.用途. ·函数名最长不得超过30个字符. ·函数名第一个字母必须大写. ·全局函数必须以小写前缀 ...

  10. chomp成功的返回值是1,chomp对参数去回车符后会改变参数的值,是传入又是传出参数。$arrow_notation = ( chomp( $unpackeing = <STDIN>) );

    44 my $unpackeing;     45 my $arrow_notation = '';     46 print "Enter  name to query, enter ex ...