Я использую технику slideToggle, чтобы показать и скрыть более 100 DIV с полной информацией в моем приложении. У меня есть кнопки «Показать все» и «Скрыть все», и я бы хотел, чтобы они также имели анимацию slideToggle (вместо того, чтобы просто показывать и скрывать все). Однако в IE6 slideToggle работает очень медленно при применении к каждому элементу.
Кто-нибудь знает, как это ускорить? Кроме того, я переключаю значки, которые находятся в msg_head, но это не замедляет его. Если я удаляю th slideToggle и заменяю его просто показом / скрытием (на показе все / скрыть все), это работает нормально. Однако я бы хотел, чтобы анимация была возможной.
<p class="msg_head" onclick="toggleSelection($(this));">Heading</p>
<div class="msg_body">
content
</div>
А мой покажет все и скроет все функции ...
function toggleSelection(element) {
element.next("msg_body").slideToggle(250);
element.find(":first-child").toggleClass("ui-icon-circle-arrow-s");
element.find(":first-child").toggleClass("ui-icon-circle-arrow-e");
}
function showall() {
$(".msg_head").each(function() {
$(this).next(".msg_body:hidden").slideToggle(250);
$(this).find(":first-child").attr('class','ui-icon ui-icon-circle-arrow-s');
});
}
function hideall() {
$(".msg_head").each(function() {
$(this).next(".msg_body:visible").slideToggle(250);
$(this).find(":first-child").attr('class','ui-icon ui-icon-circle-arrow-e');
});
}
Для записи, отдельная функция toggleSection () работает безупречно. И замена slideToggle в функциях showall и hideall тоже хорошо работает. Я просто смотрю, есть ли способ получить анимацию slideToggle, чтобы она не заглушалась.