6

HTMLページに数千のボタンがあります。$(".buttonset").buttonset();ドキュメントの準備ができた状態で実行するには、10秒以上かかります。これを行うためのより速い方法はありますか、それともボタンの数を何らかの方法で制限するための私の唯一の解決策ですか?

4

2 に答える 2

3

buttonset初めて表示される前に、オンデマンドでsを作成します。

私はちょうど12のセクションに分割された2400のボックスでテストしました。Chrome 23、Firefox 17、IE9、Opera12を使用しているi7でスムーズに動作します。

これにより、チェックボックスグループを初めて開いたときに分割読み込みの瞬間が追加される場合がありますが、必要になるまで未使用のスタイルのボタンを作成しないため、RAMを節約できます。

フィドル

于 2012-08-21T19:01:58.330 に答える
2

何千ものボタンを設定するのにかかる速度についてできることはあまりありませんがbuttonset()、10秒の問題が、ページが応答しなくなったことを示すブラウザメッセージである場合は、操作を非同期操作に分割できます。 setTimeout呼び出し。

$(".buttonset").buttonset();

になります:

$(".buttonset").each(function(index, button) {
   setTimeout(function() {
       $(button).buttonset();
   }, 0);
});

私はこのパターンを何千ものjQueryUIオブジェクトでうまく使用してきましたが、操作は高速化されませんが、ページがロックされないようにするため、動作が速くなっているように見えます。

于 2012-08-21T18:35:46.310 に答える