2013-04-15 245 views
1

寫這個jQuery手風琴,想要關閉另一個一次選擇,我應該怎麼做這個手風琴......關閉手風琴當單​​擊另一個手風琴

$(function() { 
    $("td.collapsable").find(".hidden").hide(); 
    $("table").click(function (event) { 
     event.stopPropagation(); 
     var $target = $(event.target); 
     if ($target.closest("td").attr("colspan") > 1) { 
      $target.slideUp(); 
     } else { 
      $target.closest("tr").next().find(".hidden").slideToggle(); 
     } 
    }); 
}); 
+2

ü可以添加同一中的jsfiddle,這樣它會更容易解決您的問題 – dreamweiver

+1

@ user2282633請把你的HTML和腳本中的jsfiddle – arjuncc

+0

我想補充一個點擊功能,做一些東西到$(this).siblings()。slideup();我可能會錯過一些東西,但它應該是正確的方向。 – Cam

回答

0

看到這個:DEMO

$(function() { 
    $("td.collapsable").find(".hidden").hide(); 
    $("table").click(function (event) { 
     event.stopPropagation(); 
     var $target = $(event.target).closest("tr").next().find("td.collapsable").find(".hidden"); 
     $("td.collapsable").find(".hidden:visible").not($target).slideUp(); 
     $target.slideToggle(); 
    }); 
}); 
+0

現貨!完美謝謝A.V :)之後,我感到很滿意 – 1966

0

這裏是我做了一個快速的事,我不知道知道它是否可以應用於你的情況,因爲你沒有向我們展示代碼,但有人可能會覺得它有用。在許多方面可以達到同樣的效果,我選擇這樣做。

jsFiddle Example here

$('span').click(function(){ 
    $(this).addClass('active'); 
    $(this).siblings('.level1').slideDown(200); 
    $(this).parent('li').siblings('li').children('span').removeClass('active'); 
    $(this).parent('li').siblings('li').children('.level1').slideUp(200); 
}); 
0

只需添加一個.togglerTR元素是可點擊:

LIVE DEMO

$(function() { 
    $("td.collapsable").find(".hidden").hide(); 
    $(".toggler").click(function(){ 
     var myHiddenEl = $(this).next('tr').find('.hidden'); 
     var toggAnim = myHiddenEl.css("display")=='none' ? "slideDown" : "slideUp" ; 
     $('.hidden').slideUp(); 
     myHiddenEl[toggAnim](); 
    }); 
}); 
+0

非常感謝,今天學到了這一點,感謝roXon – 1966