首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery显示/隐藏与切换/折叠效果集成

jquery显示/隐藏与切换/折叠效果集成
EN

Stack Overflow用户
提问于 2010-03-31 02:18:40
回答 1查看 1.7K关注 0票数 1

我有一个显示/隐藏切换在多个实例中很好地工作(感谢帮助这里-搜索'jquery切换到工作在多个实例‘)。

我想将它集成到主要类别的扩展菜单/折叠样式中。我有一个脚本,它可以自己工作,但我无法让它与show/hide集成在一起工作。

工作显示/隐藏:http://pastebin.me/c69869d7a80fdb439ca16304b821c146

我想要集成的扩展菜单脚本:http://pastebin.me/03b685f586fef84193b5fd72e815255d

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-31 03:01:54

我不确定你到底想要什么,所以这是一个猜测和快速切割,需要优化,但应该可以工作:

代码语言:javascript
复制
jQuery.fn.expandingMenu = function(options) {
   settings = jQuery.extend({
     speed: 500,
     show: 10,
     hideCaption: 'Hide',
     showCaption: 'More'
  }, options);

  if (this.children('.active').length) return this;

  this.each(function() {
    if ($(this).children().slice(settings.show).hide().length) {
       $(this).append($('<li class="toggler">' + settings.showCaption + '</li>').toggle(function() {
          $(this).text(settings.hideCaption).siblings().slideDown(settings.speed);
       }, function() { 
          $(this).text(settings.showCaption).siblings().slice(settings.show + 1).slideUp(settings.speed);
       }));
    }

    $(this).children().hide().first().show().css({cursor:"pointer"}).toggle(function () { 
      $(this).siblings().slice(0, settings.show).add($(this).siblings('.toggler')).show(settings.speed);
    }, function () {
        $(this).siblings().hide(settings.speed);
    });
  });
  return this;
};

$(function() {
    $('ul').expandingMenu({ speed: 200, showCaption: "Gimme More" });     
});

See it in action here。这个示例使其成为一个插件模型,因此您可以像上面的示例一样调用$('ul').expandingMenu() (并链接它),其中包含速度、要显示的数量以及隐藏/显示标题的选项。看一眼,告诉我哪些部分不太正确,从那里很容易调整。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2547547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档