Einfache JQuery Alle Erweitern Alle Reduzieren Wechseln
Bin ich auf-und Zuklappen divs. Auch ich lasse alle erweitern und alle reduzieren. Das problem ist, wenn ein div ist bereits erweitert, wenn der Benutzer auf alle erweitern, die erweiterte div wird zugeklappt, während die anderen divs zu erweitern (und Umgekehrt). Wie kann ich die erweitern alle divs, die nicht bereits erweitert ist, und alle reduzieren, die divs, die nicht bereits zusammengebrochen.
$(document).ready(function(){
$(".toggle_container").hide();
//Expand/Collapse Individual Boxes
$("span.expand_heading").toggle(function(){
$(this).addClass("active");
}, function () {
$(this).removeClass("active");
});
$("span.expand_heading").click(function(){
$(this).nextAll(".toggle_container:first").slideToggle("slow");
});
//Show hide 'expand all' and 'collapse all' text
$(".expand_all").toggle(function(){
$(this).addClass("expanded");
}, function () {
$(this).removeClass("expanded");
});
//expand or collapse all boxes
$(".expand_all").click(function(){
$(".toggle_container").slideToggle("slow");
});
});
InformationsquelleAutor user1005793 | 2011-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie überprüfen, um zu sehen, ob Ihr expand_all-element hat die Klasse erweitert oder nicht, und schieben Sie alle Ihre Elemente nach oben oder unten, je nachdem.
InformationsquelleAutor Keith.Abramo
versuchen Sie, begrenzen Sie Ihre Auswahl, um nur versteckte Werte:
http://api.jquery.com/hidden-selector/
InformationsquelleAutor brian chandley
.slideDown() und .slideUp() tun sollte.
InformationsquelleAutor Banaan
Effektiver und efficeint Weg, dies zu tun wäre die folgende:
Dieser Ansatz berücksichtigt die folgenden Punkte:
panels
so dass wir nichtsuchen Sie immer einen header geklickt wird.
JSFiddle
InformationsquelleAutor razzak