2010-03-30 71 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