私はslideToggleテクニックを使用して、アプリケーション内の情報でいっぱいの100以上のDIVを表示および非表示にしています。[すべて表示]ボタンと[すべて非表示]ボタンがあり、(すべてを表示および非表示にするだけでなく)slideToggleアニメーションも表示したいと思います。ただし、IE6では、slideToggleを各要素に適用すると、実行速度が非常に遅くなります。
誰かがこれをスピードアップする方法を知っていますか?また、msg_headにあるアイコンを切り替えていますが、速度が低下することはありません。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()関数は完璧に実行されます。また、showall関数とhideall関数のslideToggleをshowとhideに置き換えることもできます。私は本当に、slideToggleアニメーションを詰まらせずに取得する方法があるかどうかを確認しています。