2

フレームワークとして Twitter Bootstrap を使用して Web アプリを構築していますが、ツールチップの表示/非表示に問題があります。実際の問題の解決策を見つけようとすることとは別に、当面の間使用する回避策について質問があります。

パフォーマンスに関しては、setInterval() を使用するのは一般的に悪い考えですか?

これによるパフォーマンスへの影響をどのように測定できますか?

要素の存在を常にチェックして削除するより良い方法はありますか?

// temporary workaround to remove unclosed tooltips
setInterval(function() {
    if ( $('.tooltip.in').length > 1 ) {
        $('.tooltip').remove();
    }
}, 1000);
4

2 に答える 2

0

これは、この手法を回避することをお勧めしますが、実際の解決策が見つかるまで、この回避策を最適化できます。

匿名ではない関数を作成して呼び出すと、毎秒「コンテキスト関数の作成」を回避できます。

キャッシュによって jQuery セレクターを最適化し、タグ名を指定することもできます。

setInterval(tmp_workaround, 1000);

function tmp_workaround() {
  var $selectors = $('[TAG IF ALWAYS THE SAME].tooltip.in');

  if ( $selectors.length > 1 ) {
    $selectors.remove();
  }
}
于 2013-04-19T12:03:54.103 に答える