我試圖實現展開/摺疊所有功能。 我有一個可擴展項目的列表,右上角有一個按鈕,允許用戶展開和摺疊所有內容。摺疊並展開全部
目前,如果所有內容一起展開/摺疊,但我的代碼在用戶擴展一些(而不是全部)元素時無法正常工作。它只是切換摺疊/展開的元素。 JSFiddle
這裏是我的jQuery代碼正在運行:
$('div.srcprojects').hide();
$('.projectscontainer').on("click", "span.destproject", function(){
$(this).siblings('.srcprojects').toggle().end().siblings('div.destarrow').toggleClass("arrow-right arrow-down");
}).on("click", "div.destarrow", function(){
$(this).parent().find("span.destproject").trigger("click");
});
$('body').on("click", "span#expandcollapse", function(){
$(this).text(function(i, currentText){
return currentText === 'Expand All' ? 'Collapse All' : 'Expand All';
});
$('body').find("span.destproject").trigger("click");
});
我怎樣才能使它所以我#expandcollapse實際上擴展所有/摺疊所有?
正如Steve在他的回答中指出的那樣,每次撥動開關時,都會根據項目的當前狀態從「隱藏」狀態切換到「顯示」狀態。要達到所需效果,需要在摺疊時在每個可用的可見元素上運行.hide(),在展開時運行.show()。 - 或使用切換(true)/切換(false)。 – BrianHall 2013-03-20 22:32:44