jquery实现通用结构折叠面板效果
效果截图:
说明:可以任意添加多个类似结构样式,点击标题栏图片对应隐藏、显示。
jquery代码:
思路一:基本方法
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
$(function(){
var $dt = $('.main dl dt'); //获取标题栏dt
var $dd = $('.main dl dd'); //获取图片父容器dd
var flag = []; //定义标记,用于存储图片父容器的显示、隐藏状态
$.each($dt,function(i){
flag[i] = true; //设置折叠初始状态
$dt.eq(i).on('click',function(){
if(flag[i]){
$(this).next('dd').slideUp(); //隐藏元素
flag[i] = false;
} else {
$(this).next('dd').slideDown(); //显示元素
flag[i] = true;
}
})
})
})
</script>
思路二:利用闭包
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function(){
var $dt = $('.main dl dt'); //获取标题栏dt
var $dd = $('.main dl dd'); //获取图片父容器dd
var flag = []; //定义标记,用于存储折叠的显示、隐藏状态
$dt.each(function(i){ //遍历,并向函数传递遍历序号
flag[i] = true; //设置折叠的初始状态为true
$($dt.eq(i)).click(
(function(i,dd){ //返回一个闭包函数,存储传递进来的动态参数值:i和$dd.eq(i)
return function(){
if(flag[i]){
$(dd).fadeOut(); //隐藏元素
flag[i] = false;
}else{
$(dd).fadeIn(); //显示元素
flag[i] = true;
}
}
})(i,$dd.eq(i)) //向当前执行函数中传递参数
)
})
})
</script>
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery-折叠效果</title>
<style>
.main{
width: 980px; margin: 0 auto; overflow: hidden;
}
.main dl{
float: left; margin-right: 20px; width: 200px;
}
.main dl dt{
background-color: #dcdcdc; cursor: pointer; height: 30px; line-height: 30px; text-align: center;
}
.main dl dd{
margin: 0;
}
.main dl img{
width: 200px; height: 200px;
}
</style>
</head>
<body>
<div class="main">
<dl>
<dt>标题栏01</dt>
<dd>
<img src="data:images/img01.jpg" alt="">
</dd>
</dl>
<dl>
<dt>标题栏02</dt>
<dd>
<img src="data:images/img02.jpg" alt="">
</dd>
</dl>
<dl>
<dt>标题栏03</dt>
<dd>
<img src="data:images/img03.jpg" alt="">
</dd>
</dl>
<dl>
<dt>标题栏04</dt>
<dd>
<img src="data:images/img04.jpg" alt="">
</dd>
</dl>
</div>
</body>
</html>
jquery实现通用结构折叠面板效果的更多相关文章
- jquery做个折叠面板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jquery垂直展开折叠手风琴二级菜单
摘要:jquery实现垂直展开二级菜单 最近新开发一个简单项目,用到左侧两级的菜单.找找了手头的文件,竟然没有现成的代码,算了,去网上找找整理下吧. 注:jquery-1.8.3.min.js需要下载 ...
- Jquery Accordion 折叠面板
属性 类型 默认值 active Boolean/Number/jQuery/Selector/Element 第一个面板 设定默认显示的面板.设置为 false 时默认不显示面板,需 collaps ...
- jquery ui 常用(一)(自动完成 | 标签页 | 折叠面板 | 带图标的按钮 | 日期选择器| )
条件,引用3个文件 jquery-ui.min.css; jquery.min.js; jquery-ui.min.js. 一.自动完成 http://www.w3cschool.cc/jqueryu ...
- jQuery EasyUI 折叠面板accordion的使用实例
1.对折叠面板区域 div 设置 class=”easyui-accordion” 2.在区域添加多个 div, 每个 div 就是一个面板 (每个面板一定要设置 title 属性). 3.设置面板属 ...
- 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局
EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...
- 第一百九十九节,jQuery EasyUI,Panel(面板)组件
jQuery EasyUI,Panel(面板)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Panel(面板)组件的使用方法,这个组件不依赖于其 ...
- CSS实现折叠面板
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
随机推荐
- 实现一个带有指纹加密功能的笔记本(Android)第一部分
自己经常会忘记一些密码什么的,想把这些密码保存下来,但是别人做的软件总有一点不安全的感觉,所以自己动手做了一个带有指纹加密的笔记本. 以下是本工程用到的一些第三方包 compile 'org.gree ...
- List中的FindAll用法
在泛型List中查找符合某个字段的全部数据,可以采用如下方式: //1.现将实体数据listList<ADDaAn> objDAList = db.ADDaAns.ToList(); // ...
- 1.使用pycharm搭建开发调试环境【转】
感谢 feigamesnb 第一步:安装python2.7环境 去https://www.python.org/downloads/下载windows版本的python,选择2.7版本,按提示安装,并 ...
- .NET基础知识之八——深拷贝,浅拷贝
目录 1.概念 2.使用赋值符号"=" 3.浅复制 4.深复制 5.问题一:如果类里面嵌套有多个类,然后嵌套类里面又嵌套类,那么像上面实现深拷贝的方法还能用吗? 6.问题二:实现深 ...
- https 通信流程和Charles 抓包原理
1. https 通信流程 ①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息.②服务器向客户端传送SSL 协议的版本 ...
- Spring MVC 开发 配置
1.首先在web.xml中配置一个DispatcherServlet,并通过<servlet-mapping>指定需要拦截的url. 下面xml中配置一个拦截.html为后缀的url. & ...
- Unity3d工具方法小集
1.获取垂直水平方向上的输入: float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = I ...
- Kotlin 1 函数
#2 函数 函数声明和平时我见到的有点不太一样,使用关键字fun来声明.(感觉好欢乐的样子···O(∩_∩)O~~) 下面的示例,简单的声明了一个函数: // 这是函数声明 fun this_is_a ...
- CentOS 7 安装Nginx并实现域名转发
CentOS 7 条件 教程中的步骤需要root用户权限. 一.添加Nginx到YUM源 添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令: sudo rpm -Uvh http ...
- shiro笔记
控制某一角色拥有此选项 上图 标签为shiro:hasRole表示 此时只有admin角色才拥有 系统用户管理和角色管理两个tab 页 上图 标签为shiro:hasPermission表示 此时只有 ...