@@Mitleser:
nuqneH
Immer noch nicht pauschal überzeugt davon ich bin...
Yoda, bist du es?
Ja, im Falle des Setzens einer/mehrerer CSS-Eigenschaft "in einem Rutsch" ist das togglen einer im CSS definierten Klasse vorzuziehen
Was nicht auf display: none/block zutrifft; hier wäre es notwendig, assistiven Technologien (Screenreadern) die Änderung per WAI-ARIA mitzuteilen. Oder gleich das hidden-Attribut verwenden.
Geht es aber um eine Animation / Transition, ist eine JavaScript-Abstraktion, z.B. via jQuery, vorzuziehen:
Möglich. Aber keine selbstgeschriebene JavaScript-Schleife.
- Browserübergreifend konsitentes Verhalten gegeben, inkl. IE8/9
Wen interessiert noch IE8 oder gar IE9? Das Anzeigen des Bildes würde auch in alten Browsern funktionieren, nur halt nicht mit Einblendeffekt. Progressive anhancement.
- Deutliche elegantere Kaskaden, für gewöhnlich möchte man nach Beendigung einer "Transition" etwas nachfolgendes ausführen: $('#ding').fadeTo(..., folgefunktion)...
Das Event transitionEnd existiert.
Soweit eine Bibliothek durch entsprechende Abstraktion intern CSS3 verwendet: super. Wenn nicht, dann nicht.
Wann man ein Framework einsetzt, das intern CSS-Transitions verwendet (und meinetwegen auch graceful degredation für alte Browser), OK.
Eine selbstgeschriebene JavaScript-Schleife in allen Browsern zu verwenden, nein.
CSS-Transitions laufen über GPU, JavaScript-Gefrickel wohl eher nicht.
Qapla'
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)