1

私は基本的にこのコードを持っています:

for (var i = 0; i < num; i++) {
  ShowCard(i);
}

現在、ShowCard は DOM 要素を追加しているだけですが、このカードが別の場所 (靴) から最終目的地に飛んでいく様子を示すアニメーションが必要であり、2 番目のカードが最初のカードまで待機するようにしたいと考えています。開始前に飛行を完了します。

「継続渡し」スタイルでコード全体を書き直さずに、これを達成する方法はありますか?

答えはノーだと思います。私は弾丸を噛んでそれをしなければなりませんが、私は尋ねようと思いました.

ありがとう!
ダニエル

4

4 に答える 4

3

答えはノーだ。

JavaScript の唯一のブロッキング API は、組み込みのもの -alertと.confirmprompt

于 2011-02-11T13:28:07.873 に答える
2

jQuery の新しいdeferredAPIを試すことができます。

于 2011-02-11T13:29:10.853 に答える
1

inMotion2 番目のカードが移動できないことを示すグローバル ロック変数を入れることができます。次に、2 番目のカードを移動するように呼び出しているコードで、このブール値を確認し、移動する時間でない場合は、setTimeout または setInterval を使用して、移動する時間になるまでメソッドを継続的に呼び出します。

于 2011-02-11T13:30:13.200 に答える
0

邪悪なハック: setTimeout とその仲間 (制御フローを提供する関数) を使用してアニメーションを機能させる代わりに、while ループ、スピン ロック スタイルを使用して愚かな方法でアニメーションを機能させます。擬似コード:

next_time = curr_time + delta;
while(get_time() < next_time){} //Do nothing
于 2011-02-11T14:52:30.713 に答える