3

さまざまなメソッドに渡す 4000 要素前後の一種の「大きな」JSON オブジェクトをdiv処理しています。プロセスを示すテキストでタグを更新したいと思います。

しかし、何らかの奇妙な理由 (Firefox と Chrome でテストしたばかり) で、DOM オブジェクトをテキストで更新しません。

$("#estatusBar").text(_item.Centro_de_trabajo);

どちらも、テキストの更新に時間をかけずに、すべてのデータと他のプロセスを計算し続けることを好みます。しかし、ループ内でコーディングしAlert("")てからクロムで「選択したボックス」をクリックして、他のすべてのアラートを無視すると、クロムは突然テキストの更新を開始します。

それで、ある種のコードで計算を「一時停止」して、DOM要素を停止して更新し、他のプロセスを続行できるかどうかを考えていましたか?

これは可能ですか、またはこの奇妙な動作の代替手段は何ですか?

- 編集 -

これはループのコードです

    $.each(plantillas, function(_index, _item){
        updateBar(_item.Centro_de_trabajo);
        calculateItem(_item,_index);
        a.push("<div class='blockee'><ul>"+ /*temp.join("")*/ t(_item) +"</ul></div>");
    }); 
4

3 に答える 3

1

計算をバックグラウンドに延期するためにweb workerを試すことができます。これが役立つはずです。Web ワーカーはまさにこれを行うように設計されています (大規模な計算をバックグラウンド スレッドにプッシュする)。ただし、これはすべてのブラウザーで機能するとは限りません。あなたの主な関心事はIEであり、IE 10のみがそれをサポートしています:

ここに画像の説明を入力

于 2013-04-19T17:52:24.030 に答える
0

javascriptで待機、一時停止、スリープなどのバージョンが必要ですか?それはそれですか?

唯一の方法は

window.setTimeout()

任意の機能を一時停止できます。

この投稿も確認してください: Javascript でのスリープ/一時停止/待機

于 2013-04-19T17:53:19.407 に答える