17

私は大きなjQueryコードを持っていて、関数のパフォーマンスを高速化することを考えています。要素がクリックされたとき(マウスダウン)、画像を背景として割り当てる必要があります。私は2つの方法でこれを行うことができます:

$('#element li.class').css({"background":"someimageURL"});

また

$('#element li.class').addClass("someclass");

ここで、「someclass」には実際のCSS背景画像があります。この場合、魔女の機能がうまく機能します。

さまざまな機能の速度をテストする方法はありますか?

ありがとうございました

4

2 に答える 2

16

私はほぼ確実.addClass()に2つのうちの方が速いでしょう。これには、基本的に別のクラス名を要素に追加することが含まれますが、別の方法では、要素のスタイルを繰り返し処理し、多くの明示的なルールを設定する必要があります。

を介していくつかのcssルールを設定する$.css()ことはおそらく心配する必要はありませんが、多くの場合、クラスを作成し、必要に応じてそれを適用/削除するときが来ました。

必要に応じて確認できるように、両方のメソッドのロジックを1つの場所に抽出しました。

http://pastie.org/842738

于 2010-02-25T18:24:14.970 に答える
11

$.addClass()クラスの追加は絶対に高速です。vsvsvsプレーンjsのこのパフォーマンステストを参照してください$.css()-http ://jsperf.com/jquery-css-vs-addclass-speed/2$.removeClass().addClass()

于 2014-01-15T23:09:43.610 に答える