Rudolph: CSS-Klassen Werte in Javascript auslesen?

Beitrag lesen

Hallo Rudolf,

bei dieser Aktion kann es schnell zu Missverständnissen kommen.

Willst Du:

  • in deinem Stylesheet / deinen Stylesheets eine Regel für die Klasse animation finden und darin die Einstellung für die transition Eigenschaft auslesen? Darauf passt der Raketenhinweis. Probleme:
    • Es mag mehr als ein Stylesheet mit dieser Regel geben,

sollte eigentlich mit document.styleSheets[0].rules kein Problem sein - in dem Fall sollte ich eindeutig das erste Stylesheet referenzieren.

und es kann sogar in einem einzigen Stylesheet mehrere Regeln geben, die die Klasse animation beeinflussen. Entweder durch Kombinatoren (li .animation oder #foo .animation oder .animation:first-of-type() oder oder oder) oder durch Media-Abfragen. Sowas ist dann nicht mal falsch, sondern die Eintellungen gelten dann für unterschiedliche Kontexte.

Hm... auch das sollte eigentlich kein Problem sein...? Setzt man die am meisten für gut erachtete Lösung des von Raketensuchradar dankenswerterweise zur Verfügung gestellten Links um (die von nsdel), dann bezieht sich dort getStyle('.test') exklusiv auf die Klasse test. Ich hab das durchgespielt und ausprobiert - hast du (wie in meinem Fall) eine Klasse .animation mit transition: all 0.5s linear und gleichzeitig z.B. #foo .animation, dann spuckt getStyle('.animation') ersteres und getStyle('#foo .animation') zweiteres aus. Aber vielleicht habe ich dich da missverstanden.

Dass die Klasse .animation diese transition-Eigenschaft setzt, bedeutet noch nicht, dass ein Element mit dieser Klasse diese Eigenschaft auch bekommt. Es kann auch noch andere Style-Regeln geben, die eine ganz andere transition verordnen. Wenn für ein Element dann Regeln zutreffen, gewinnt die mit der höheren Spezifiziät.

Ja ne, is klar 🙃

Gruß Rudolph.