首先我们还是创建一个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

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

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“jquery插件制作 手风琴Panel效果实现”

暂无“jquery插件制作 手风琴Panel效果实现”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。