效果截图:

 说明:可以任意添加多个类似结构样式,点击标题栏图片对应隐藏、显示。

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实现通用结构折叠面板效果的更多相关文章

  1. jquery做个折叠面板

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

  2. jquery垂直展开折叠手风琴二级菜单

    摘要:jquery实现垂直展开二级菜单 最近新开发一个简单项目,用到左侧两级的菜单.找找了手头的文件,竟然没有现成的代码,算了,去网上找找整理下吧. 注:jquery-1.8.3.min.js需要下载 ...

  3. Jquery Accordion 折叠面板

    属性 类型 默认值 active Boolean/Number/jQuery/Selector/Element 第一个面板 设定默认显示的面板.设置为 false 时默认不显示面板,需 collaps ...

  4. jquery ui 常用(一)(自动完成 | 标签页 | 折叠面板 | 带图标的按钮 | 日期选择器| )

    条件,引用3个文件 jquery-ui.min.css; jquery.min.js; jquery-ui.min.js. 一.自动完成 http://www.w3cschool.cc/jqueryu ...

  5. jQuery EasyUI 折叠面板accordion的使用实例

    1.对折叠面板区域 div 设置 class=”easyui-accordion” 2.在区域添加多个 div, 每个 div 就是一个面板 (每个面板一定要设置 title 属性). 3.设置面板属 ...

  6. 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局

    EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...

  7. 第一百九十九节,jQuery EasyUI,Panel(面板)组件

    jQuery EasyUI,Panel(面板)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Panel(面板)组件的使用方法,这个组件不依赖于其 ...

  8. CSS实现折叠面板

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

  9. amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse

    amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...

随机推荐

  1. 查看sql 作业明细及运行记录

    --查看作业明细及状态 select j.name 'Job名', j.description '描述', j.ENABLED job_enabled, cast(js.last_run_date a ...

  2. @Transactional spring 事务失效(转载)

    原文地址:http://hwak.iteye.com/blog/1611970 1. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和 ...

  3. JavaScript---设计模式简介

    概念 设计模式(Design pattern)是一套被反复使用.思想成熟.经过分类和无数次实战设计经验的总结的.使用设计模式是为了让系统代码可重用.可扩展.可解耦.更容易被人理解且能保证代码的可靠性. ...

  4. Java 基础------16进制转2进制

    我们知道,数字8用二进制表示为:1000 用16进制表示为:8 那么我给你一个16进制的数字,0x7f,他的二进制是什么呢? 一个16进制的位数,用4位表示.比如,0x 7 f 其中: 7用4位二进制 ...

  5. Office Web Apps Server(1)

         Office Web Apps Server runs on one or more servers and provides browser-based Office file viewi ...

  6. 云计算之路-阿里云上:“黑色1秒”问题与2009年Xen一个补丁的故事

    在之前对“黑色1秒”问题的分析博文中,我们将最大嫌疑对象锁定在了Xen,在这篇博文我们将从Xen的角度进行分析.也许有人会问,为什么不知道天多高地多厚地去研究不属于自己范围的问题?只因我们对一个问题的 ...

  7. Bugku 速度要快

    import requests import base64 url="http://123.206.87.240:8002/web6/" res=requests.get(url) ...

  8. 使用fiddler对手机上的APP进行抓包

    前提: 1.必须确保安装fiddler的电脑和手机在同一个wifi环境下 备注:如果电脑用的是台式机,可以安装一个随身wifi,来确保台式机和手机在同一wifi环境下 安装配置步骤: 1.下载一个fi ...

  9. Docker容器-入门级

    1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项, ...

  10. LeetCode 19——删除链表的倒数第 N 个节点

    1. 题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...