У меня есть куча divs, которые я расширяю/втягиваю отдельно с помощью .toggle и хотел бы иметь одну кнопку, которая будет разворачивать/втягивать все одновременно. Поэтому, если один из них уже развернут/оттянут, он останется расширенным/оттянутым при нажатии, но остальное будет расширяться/втягиваться.Expand/Retract all using .toggle jQuery
Вот что я использую для отдельных дивы:
$('.toggle-engine').click(function() {
$('.specs-engine').toggle(400);
$(this).text($(this).text() == '+' ? '-' : '+');
return false;
});
Пробовал это для расширения/втягивания все, но если один из них уже был расширен, когда я нажал развернуть все это убирается:
$('.expand-all').click(function() {
$('.specs-body').toggle(400)
$('.specs-engine').toggle(400)
$('.specs-curb').toggle(400)
$('.specs-cap').toggle(400)
$('.specs-fuel').toggle(400)
$('.specs-brakes').toggle(400);
$(this).text($(this).text() == '+ Expand All' ? '- Retract All' : '+ Expand All');
return false;
});
Вот наценка:
<a class="expand-all" href="#">+ Expand All</a>
<a class="toggle-engine" href="#">+</a>
<div class="expand specs-engine"></div>
<a class="toggle-body" href="#">+</a>
<div class="expand specs-engine"></div>
Не используйте переключатель. Используйте slideUp() slideDown(). – kylex