GreenSock (gsap.js)のCSSRulePlugin.jsがうまく動かなかった件
アニメーション作成を強力にサポートしてくれるgsap.jsの、CSSRulePluginでうまくいかなかったことが合ったのでメモ。
CSSRulePluginは、「:before」「:after」といった疑似要素に対してアニメーションを設定できるようになるなどの機能を追加するプラグインです。
例えば以下のような書き方で、:afterの要素をアニメーションさせることができます。
var myRule = CSSRulePlugin.getRule(".btn:after");
myRule.forEach((index, element) => {
gsap.to(element, { duration: 10, cssRule: { backgroundColor: "#600" } });
})
これがなかなかハマったのですが、大事なことはgetRule()のところで指定するClass名。
このClass名はCSSで実際に指定している表記と完全に一致させる必要があるということのようです。
もし上のスクリプトでmyRuleをconsole.logで出してみて「undefined」と出力されるようであれば、この原因が疑われます。
試してみてください。