2010-03-30 72 views
3

我有一个可以工作的显示/隐藏效果,但我只需要能够在页面中多次使用它。目前它切换所有元素。无法让我的头了解如何去做。jquery切换到多个实例工作

希望你能帮上忙。

http://pastebin.me/29328e556caf53e9a1925030d65b864b

+0

你可以张贴你如何表现出一定的代码和隐藏的元素? – 2010-03-30 14:48:36

+1

只需在pastebin中点击右侧的“编辑代码”即可。 – mark 2010-03-30 14:58:23

+0

只是我已经告诉过你,你必须为你的上一篇文章的每一个循环做关于同一个问题 – mcgrailm 2010-03-30 15:23:53

回答

2

您可以编辑功能有点这个,它会在每个<ul> V2独立工作:

$('.facet ul').each(function() { 
    if($(this).children('li:gt(9)').hide().length === 0) return; 
    $(this).append(
    $('<li id="toggler">More</li>').toggle(function() { 
     $(this).text('Hide').siblings().show(); 
    }, function() { 
     $(this).text('More').siblings('li:gt(9)').hide(); 
    })); 
});​ 

See a working demo here

之前,人们得到任何li超过9,你想这样做<ul>元素与.each()像上面的例子。

+0

Gotcha。辉煌。现在我只需要将其与下面扩展的菜单代码进行整合 - 我应该创建一个新问题吗? http://pastebin.me/03b685f586fef84193b5fd72e815255d – mark 2010-03-30 15:33:42

+0

@mark - 为了未来谷歌的发现,请做,并评论它在哪里,如果没有其他人很快做出回应,我会回答。 – 2010-03-30 15:42:43

+1

会做。虽然我无法发布2个网址。 – mark 2010-03-30 15:59:48

0

我删除了一些比特来简化,但你可以在这里看到一个工作实现......为了保持转换器为li元素,你需要扩展它以选择性地隐藏兄弟元素 - 但我是一个简单的粉丝,所以我建议你在显示/隐藏元素之外保留开关。

http://pastebin.me/7a7e139da8cad2b01593d895b668c17e

+0

这根本不会做什么原始剧本......他想隐藏/显示“更多”,而不是“全部”。 – 2010-03-30 15:15:32

+0

是的,一旦它超过了一定的数字,就会显示'更多'。而不是如果它更少。然后为了在扩展菜单中工作。基本上是典型的indexhibt cms网站的空间保护程序,如:http://mikeyburton.com/ – mark 2010-03-30 15:36:04