jqueryのプラグインであるvelocity.jsを使用して、特定の要素をクリックすると別の要素が動き出すというアニメーション処理を作成しています。
velocity.jsを使用している理由としては、cssのtransformの値を変化させるのが、jquery標準であるanimateでは実現できなかったためです。
要素を何度もクリックしてしまうと、その分アニメーションを実行してしまうので、まだアニメーションが完了していないうちはクリックしても、次のアニメーションを実行させないよう、判定の処理を挟みたいと思っています。
しかし、animateだとis(":animated")と書けばまだ動作中かどうかの判定が出来たのですが、velocity.jsの場合はこれが効かず、そのうえ何と置き換えたらいいのかがわからず、困っています。
どのように記述すれば良いのでしょうか?
lang
1<p class="move">右に移動</p> 2<p class="box">■</p>
lang
1$(".move").click(function() { 2 if (!$(".box").is(":animated")) { 3 $(".box").velocity({ 4 "translateX": "+=100px" 5 }, 500); 6 } 7});
lang
1$(".move").click -> 2 if !$(".box").is(":animated") 3 $(".box").velocity { 4 "translateX": "+=100px", 5 }, 500 6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/30 06:29
2015/04/30 06:35