0
 var $thingy = $('.thingy'),
     $window = $(window);

 $window.on('resize', function(){
       thingy.width($window.width()/12);
 });

ページにさらにsを追加.thingyして、再クエリせずにサイズを変更することは可能ですか?

私は以下が機能することを知っています:

 var $window = $(window);

 $window.on('resize', function(){
       $('.thingy').width($window.width()/12);
 });     

問題は、.thingyページにsを頻繁に追加していないため、新しいjQueryオブジェクトの作成とDOMの迅速な再クエリが多くのオーバーヘッドのように見えることです。

もっと良い方法はありますか?

4

2 に答える 2

2

変数に再割り当てするだけです。

var $window = $(window),
    $thingy = $('.thingy');
$window.on('resize', function(){
    $thingy.width($window.width()/12);
});


// then sometime:
$thingy = $('.thingy');
// or:
$thingy = $thingy.add(elements)
于 2012-05-24T17:34:44.883 に答える
1

新しいを追加するときはいつでも.thingy、選択を更新してください

$thingy = $('.thingy');

また

$thingy = $thingy.add(the_new_thingy)

もちろん$thingy、両方の場所で表示される必要があります。

于 2012-05-24T17:32:50.490 に答える