上記のコードが実行されますmove(1); mark2=false;
これらの 2 つの文が使用される場合、move## で
animate アニメーション関数が使用されます。 # 関数、その後
move の呼び出しは非同期ですか?つまり、タスクキューに入れて実行するので、先に実行してください
mark2=false;これでいいでしょうか?
漂亮男人2017-06-26 10:53:31
この質問については、コードに直接 console.log('')
を記述し、その内容を印刷して、推測した順序を確認できると思います。
jquery の animate は言うまでもなく非同期です、http://www.cnblogs.com/aaronj...
一般的な原則は、setTimeout などを使用して定期的に実行を遅らせることです。明らかに、animate のコールバックはポイントに到達するとタスクキューに配置されるため、mark2=false
最初に実行する必要があります。
PHP中文网2017-06-26 10:53:31
move の呼び出しは同期的にブロックする必要があります。
animate も同期的にブロックします
結果は
リーリー移動が同期していない場合
最初に「実行終了」が表示され、次に他のものが表示されます。
アニメートが同期していない場合
アニメートの開始前に移動の終了が表示されます。
例えば
結果は
リーリー