2012-02-17 3 views
1

私は最近、同じことをするためにいくつかのカスタムjavascriptを使用するのではなく、フォームフィールドをハイライトする効果を与えるCSS疑似クラスを見つけました。別の例では、JavaScriptを使用せずに表の行を強調表示しています。エフェクトをコーディングするために、JavaScriptがJavascriptよりどれだけ高速であるかに関する測定がありましたか?

私の質問は次のとおりです。このようなことに対して、JavaScriptを使用するのはJavaScriptよりもどれくらい速いのですか?明らかに我々は一般的な言葉で話しているが、おそらくそれのための経験則があるだろう。

これは、私が過去に使用した方法と比べて、ページ上のパフォーマンスが少し向上するという新しい方法だと思っています。

+0

が「効果」によって、あなたはアニメーションを意味するのですか?そうであれば、アニメーション中のほとんどの時間、あなたのコードは単に次のフレーム更新時間を待っています。 –

+0

すべてのCSS3エフェクトの継続時間を指定できるとしたら、これは問題ではありませんか? – paislee

+0

従来の意味でのアニメーションはありません。 CSSはアニメーションの外観を与えることができますが、実際には複数の画像を使用することであなたを欺くことになります。私のアニメーションは、私が過去にjavascriptを使用することを選択したよりインタラクティブな機能です。今私はいくつかのケースでは、私はこれのためにCSSを使用することができます参照してください。私はまだCSS 2.1を途中で使っています –

答えて

6

CSSで合理的に達成できるスタイル効果は、JavaScriptではなくCSSで行う必要があります。それはほぼ確実に優れたパフォーマンスを発揮します。しかし、本当のメリットは、CSSを使ってスタイルを設定することが理にかなっていることです。これがCSSの目的です。 CSSでスタイルすることができ、スタイルのものにJavaScriptを使用して

は、それは歓迎されないハックです...あなたが望む外観を得るために<font><center>のようなレイアウトのためのテーブル、または非推奨のタグを使用するよりも任意のより良いものとして私に当たりません。

パフォーマンスに関しては、残念ながらこの種のものはテストするのが難しいです。通常、パフォーマンステストはできるだけ速く何回か、ループで5秒間実行してから、できるだけ早く5秒間実行してから、実行可能なものを確認します割り当てられた時間のほとんどの時間。テスト結果を歪めるオーバーヘッドを追加することなく、要素のホバリング/アンハーバーを自動化する方法はないので、テストするのは難しいです。

+0

それは良い点です!さて、CSSのパワーに関する知識が不足しているため、私は過去にそれをやっていたのです。 –

+0

これは普通私がそのようなものだと感じている); –

+2

私はほとんどこの答えに同意しますが、可能なときにCSSを使用する本当の理由は、(1)スタイル情報を実体的なコンテンツから分離するのに役立ちます(2)スタイリングの実装の詳細をブラウザの開発者に伝え、ブラウザで実際に正しく動作するかどうかを確認するのに適していると思います。 –

関連する問題