animate中に新たにanimeteを動作させない
カテゴリー:javascript最近wordpressから離れてjavascript(ほぼjqueryを使ってだけど)を勉強してます!
jquery使って自作のカルーセル作ってみたんですよ、
そんで、アホみたいにスライドボタン連打してたらスライドの動きがおかしくなっちゃって
よくよく考えてみたらjQueryのanimate関数でカルーセルを動かしてる最中にさらにanimateで上書きしちゃってて
動作がおかしくなってました。
なので、今日はそれを解決させようかと思います!
そもそもどうして上書きされちゃうんだろう
アニメーション動作は、全てqueue(キュー)とゆうものに溜まるらしく、
動作中に新たに溜まった動作を全ての動作が完了するまで実行し続ける為である。
だから、アニメーションが終わった時点でqueueの中身を消しちゃえば、
上書きしようとしてくるqueueがなかったことになって実行されなくなるんです!
さっさと書き方教えろや
ごめんなさい、ごめんなさい、ごめんなさい
$(this).animate({"left" : "500px"} , 500, function(){ $(this).queue([]); // queueを空にする $(this).stop(); // アニメーション停止 });
これで許してください、お願いします