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