jquery插件制作 手风琴Panel效果实现


Posted in Javascript onAugust 17, 2012

首先我们还是创建一个html文件,里面包含如下的html结构。

<div id="pane-container"> 
<div class="pane"> 


<h1>first pane</h1> 


<p>this script should allow only one pane to be visible at a time.</p> 

</div> 

<div class="pane"> 


<h1>second pane</h1> 


<p>this script should allow only one pane to be visible at a time.</p> 

</div> 

<div class="pane"> 


<h1>third pane</h1> 


<p>this script should allow only one pane to be visible at a time.</p> 

</div> 
</div>

然后为页面定义如下css:
<style type="text/css"> 
#pane-container 
{ 
margin: 0; 
padding: 0; 
width: 200px; 
} 
.pane h1 
{ 
padding: 5px; 
cursor: pointer; 
position: relative; 
background-color: #4c4c4c; 
color: #fff; 
font-weight: normal; 
font-size: 20px; 
margin: 0px; 
} 
.pane p 
{ 
padding: 10px; 
margin: 0; 
background-color: #e4e4e4; 
} 
</style>

下面我们来介绍jquery.accordtion.js插件的实现。首先我们需要考虑的是如何隐藏pane里面的内容部分,也就是p标签。h1作为标题是不需要隐藏的。
(function ($) { 
$.fn.accordtion = function () { 
return this.each(function () { 
$(this).find('p').hide(); 
}); 
} 
})(jQuery);

页面调用的代码:
$(document).ready(function () { 
$('#pane-container').accordtion(); 
});

插件代码很简单,就是找到class为pane的div下面的p,对其隐藏。接下来我们要实现的是,当用户点到h1的时候,对应的p标签的内容显示出来,同时其他h1对应的p标签的内容隐藏。代码如下:

//对h1标签设置click事件 
self.delegate('h1', 'click', function () { 
//为对应的p标签设置slideToggle效果 

$(this).next('p').slideToggle(600) 



//获取其他pane对象,找到他们下面的p标签,收起 



.parent().siblings().children('p').slideUp(600); 
});

现在我们的插件已经很有型了,最后要做的就是添加用户自定义属性options,这次我们只添加一个‘默认显示第几个pane'的属性。
//设置第几个元素显示 
self.children(':eq(' + options.visibleByDefault + ')')//找到和options.visibleByDefault一致的pane对象 
.children('p') 

.show();

完整的代码大家还是下demo自己看吧。jQuery.plugin.accordtion

谢谢大家的支持,希望本篇文章对你有帮助。如果对代码哪里有不清楚的地方,可以联系我。

Javascript 相关文章推荐
jquery 跨域访问问题解决方法(笔记)
Jun 08 Javascript
JS正则表达式验证数字代码
Jan 28 Javascript
JavaScript实现强制重定向至HTTPS页面
Jun 10 Javascript
针对初学者的jQuery入门指南
Aug 15 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
Feb 27 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
JS设计模式之惰性模式(二)
Sep 29 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
JS 图片压缩原理与实现方法详解
Apr 29 Javascript
jquery插件制作 提示框插件实现代码
Aug 17 #Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 #jQuery
jquery插件制作 表单验证实现代码
Aug 17 #Javascript
jquery插件制作 图片走廊 gallery
Aug 17 #Javascript
jquery插件制作教程 txtHover
Aug 17 #Javascript
IFrame跨域高度自适应实现代码
Aug 16 #Javascript
JSONP 跨域共享信息
Aug 16 #Javascript
You might like
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
php简单实现数组分页的方法
2016/04/30 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
php中使用websocket详解
2016/09/23 PHP
jQuery使用手册之一
2007/03/24 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
python入门教程之识别验证码
2017/03/04 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python 消费 kafka 数据教程
2019/12/21 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
python3爬虫中异步协程的用法
2020/07/10 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
物流专业大学应届生求职信
2013/11/03 职场文书
项目计划书范文
2014/01/09 职场文书
2014和解协议书范文
2014/09/15 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
公司停电通知
2015/04/15 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
详解Python描述符的工作原理
2021/06/11 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python