Gunnar Bittersmann: Was macht clearInterval() ? 😿†

Beitrag lesen

@@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)