jquery实现通用结构折叠面板效果
2016-04-13 17:24
549 查看
效果截图:
说明:可以任意添加多个类似结构样式,点击标题栏图片对应隐藏、显示。
jquery代码:
思路一:基本方法
思路二:利用闭包
HTML代码:
说明:可以任意添加多个类似结构样式,点击标题栏图片对应隐藏、显示。
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="images/img01.jpg" alt=""> </dd> </dl> <dl> <dt>标题栏02</dt> <dd> <img src="images/img02.jpg" alt=""> </dd> </dl> <dl> <dt>标题栏03</dt> <dd> <img src="images/img03.jpg" alt=""> </dd> </dl> <dl> <dt>标题栏04</dt> <dd> <img src="images/img04.jpg" alt=""> </dd> </dl> </div> </body> </html>
相关文章推荐
- jQuery复习
- 每天学点JQuery(4)—动画
- jQuery操作属性和样式详解
- jquery跟随屏幕滚动效果的实现代码
- JQuery对象与javascript对象的转换
- jQuery Validate 教程
- Jquery取值中 javascript相关计算bug
- jquery validate 自定义验证方法
- jQuery效率提升建议
- Jquery Ajax示例---load,get,post方法
- jQuery学习之二 jQuery选择器
- jquery zTree异步加载简单实例分享
- Jquery实现全选中全不选中以及获取选中行的相关值
- 表单验证插件jQuery.validate 介绍+快速入门案例
- Posting array of JSON objects to MVC3 action method via jQuery ajax
- jquery从tr获取td
- 新学的插件jquery.tablesorter很好用,说说遇到的表格动态添加的数据不能排序的问题
- Jquery dom查找方法 性能分析
- Jquery常用速查(自用)
- jQuery之定时器及图片轮播实例