実現したいこと
GSAPで rotate 又は duration の値を動的に変更したい
前提
GSAPのrotateで無限回転させている画像の回転速度を
ボタンクリックで変更可能にしたいのですが、
実行中のプロパティの値を変更する方法がわかりません
該当のソースコード
gsap.to(img2, {
rotate: 360,
duration: 10,
repeat: -1,
});
発生している問題・エラーメッセージ
いろいろ調べたところ、quickSetter() や quickTo() というメソッドが
動的に値を変更する方法らしいのですが、
これらはいずれも rotate と duration には使えないメソッドらしく、エラーが出てしまいます。
メソッドがサポートする x や yPercent プロパティには、
rotate が効かないオブジェクトに対してでも効果があったので記述ミスでもないと思います。
ボールドテキスト
試したこと
rotate: rotateSpeed もしくは duration: rotateSpeed などとして
ボタンクリック後に rotateSpeed に新しい値を入れてみる → 実行中のGSAPは新しい値を参照しない
let rotateSpeed = gsap.quickSetter(img, 'rotate',{hoge});
などとしてボタンクリック後に rotateSpeed(720); などとしてみるが、エラーが出る。
Greensock公式でも transform には使えないと書いてあった。
ちなみに同じコードで rotate を yPercent などに置き換えるとちゃんと動くので記述ミスでもない。
JavaScript初学者なので、なにか根本的なところで理解ができてない予感がしてます泣
あなたの回答
tips
プレビュー