Heim > Web-Frontend > js-Tutorial > jquery插件制作 手风琴Panel效果实现_jquery

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

WBOY
Freigeben: 2016-05-16 17:50:48
Original
1167 Leute haben es durchsucht

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

复制代码 代码如下:


  

    

first pane


    

this script should allow only one pane to be visible at a time.


  

  

    

second pane


    

this script should allow only one pane to be visible at a time.


  

  

    

third pane


    

this script should allow only one pane to be visible at a time.


  

  

然后为页面定义如下css:
复制代码 代码如下:

  

下面我们来介绍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

  谢谢大家的支持,希望本篇文章对你有帮助。如果对代码哪里有不清楚的地方,可以联系我。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage