0

I've made an animation who's based on the following jQuery functions : hide(), show(), animate().

このアニメーションは大量の CPU (Flash のような CPU 使用率) を消費します。Chrome は、(CSS セレクター プロファイリング ツールを通じて) 多くの同様の CSS セレクターの使用法 (CSS セレクター プロファイル) があることを教えてくれます。

これらのセレクターは、レンダリング エンジンのみが使用するものですか? これには、 $() ( hide() 、 show() または animate() によって呼び出されると仮定しました) を使用している間のjQueryノード検索も含まれますか?

2番目の質問に「はい」の場合、この関数をオーバーライドしてノードをキャッシュするにはどうすればよいですか? (私のアニメーションロジックで結果が変わらないいくつかのセレクターをハードコーディングすることによって)。

編集: フレーム間のトランジションを実装しています。各フレームは、背景に Ken Burns 効果として適用されます。

EDIT2 : 可能であればアニメーションに CSS3 を使用する jQuery プラグインですhttps://github.com/benbarnett/jQuery-Animate-Enhanced

4

1 に答える 1

0

次のようなコードを使用して多くの jquery アニメーションを実行している場合:

$('div.myclass').show();
 ...
$('div.myclass').hide();
....
$('div.myclass').toggle();

jquery の選択を連鎖させることを検討することをお勧めします。

$('div.myclass').show().addClass('sdf').children('li').slideToggle()

またはセレクターを変数に割り当て、その変数を再利用する

 var $ele = $('div.myclass');
 $ele.show();
 ...
$ele.hide();
....
$ele.toggle();
于 2012-06-04T14:42:30.913 に答える