Frage

Ich verwende eine Slidetoggle -Technik, um 100+ Divs voller Informationen in meiner Anwendung anzuzeigen und zu verbergen. Ich habe "All" und "All" -Beschaltflächen "alle" und ich möchte, dass sie auch die Slidetoggle -Animation haben (anstatt nur alle zu zeigen und zu verbergen). Bei IE6 läuft der Slidetoggle jedoch sehr langsam, wenn sie auf jedes Element angewendet werden.

Weiß jemand, wie man das beschleunigt? Außerdem wechsle ich Symbole, die sich in der MSG_head befinden, aber das verlangsamt es nicht. Wenn ich den Slidetoggle entferne und es durch eine Show/Hide (auf der Show All/Purse All) ersetze, funktioniert es gut. Ich möchte jedoch, wenn möglich, die Animation haben.

<p class="msg_head" onclick="toggleSelection($(this));">Heading</p>
<div class="msg_body">
   content
</div>

Und meine Show alle und verbergen Sie alle Funktionen ...

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');
    });
}

Für den Datensatz führt die individuelle Togesection () -Funktion fehlerfrei aus. Und das Ersetzen des Slidetoggle in den Funktionen von Showall und HideAll durch Show und Hide funktioniert auch gut. Ich sehe wirklich nur, ob es eine Möglichkeit gibt, die Slidetoggle -Animation zu bekommen, ohne dass sie erstickt aussieht.

War es hilfreich?

Lösung

Dies wird nicht viel Hilfe sein, aber ich muss hier mit einem einfachen "Nein" gehen. Gleichzeitig scheint es ein bisschen viel zu sein, 100+ Divs zu animieren, aber Sie können damit durchkommen, wenn ein Besucher einen modernen Browser auf einer anständigen Maschine ausführt. Aber wenn Sie dies speziell in IE6 beschleunigen möchten, können Sie nicht viel tun. Der Browser ist uralt, einschließlich der JavaScript -Rendering -Engine, und wird niemals in der Lage sein, das zu tun, was Sie wollen, während Sie reibungslos und hübsch aussehen.

Andere Tipps

Welche Version von JQuery verwenden Sie? Wenn Sie das neueste (1.4.1) nicht verwenden, empfehle ich das Upgrade. Die Entwickler von JQuery haben eine wichtige Leistung für die neueste Version durchgeführt, um Probleme wie die oben beschrieben zu behandeln. Hier finden Sie einen Link zu den Versionshinweise für weitere Informationen: http://jquery14.com/day-01/jquery-14

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top