javascript - jQuery の animate 関数は非同期実行とみなされますか?
怪我咯
怪我咯 2017-06-26 10:51:31
0
2
927
リーリー

上記のコードが実行されますmove(1); mark2=false;これらの 2 つの文が使用される場合、move## で animate アニメーション関数が使用されます。 # 関数、その後 move の呼び出しは非同期ですか?つまり、タスクキューに入れて実行するので、先に実行してくださいmark2=false;これでいいでしょうか?

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(2)
漂亮男人

この質問については、コードに直接 console.log('') を記述し、その内容を印刷して、推測した順序を確認できると思います。

jquery の animate は言うまでもなく非同期です、http://www.cnblogs.com/aaronj...

一般的な原則は、setTimeout などを使用して定期的に実行を遅らせることです。明らかに、animate のコールバックはポイントに到達するとタスクキューに配置されるため、mark2=false最初に実行する必要があります。

いいねを押す +0
洪涛

move の呼び出しは同期的にブロックする必要があります。
animate も同期的にブロックします

リーリー

結果は

リーリー

移動が同期していない場合
最初に「実行終了」が表示され、次に他のものが表示されます。
アニメートが同期していない場合
アニメートの開始前に移動の終了が表示されます。
例えば

リーリー リーリー

結果は

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート