2012-04-12 6 views
2

私のページの流動性に問題があり、jqueryが何らかの形で関わっていると思います。jQueryアニメーションが流動的でない

私は次の1ページのサイトを作成しました。私は(GSGD、http://gsgd.co.uk/sandbox/jquery/easing/によって)JSプラグイン

とのjQueryを使用

http://cgeese.de/tests/Test02/

問題

リンクをクリックすると、バウンスが容易なターゲットdivにページがスクロールされます(easing.jsで提供)。それは技術的にはうまく動作しますが、私の味には十分に滑らかではありません。

イージングでのスタッターの問題は、私がこれらのプラグインの1つを悪用していると思いますが、コードで間違いを見つけられないようです。

質問

WHYアニメーションが吃音され、どのように私はそれを滑らかにすることができますか?

更新 手がかりはありますか? jQueryを使ったイージングの使い方は少し良くなっているようですが、同じ問題があります。ですから、私はそれがイージングプラグインではないと思っています。彼のようなプラグインはありますか?

答えて

4

クロムにはかなり流動的です。イージングタイプの変更はほとんど変わりません。

あなたのナビゲーションは位置:固定、すべてのナビゲーションキーフレームでページ全体の再描画/再描画を引き起こしています。これをクロームカナリアンまたはこのトリックで視覚化することができます。http://paulirish.com/2011/viewing-chromes-paint-cycle/

スクロールをアニメートすると、再ペイントがトリガーされます。できるだけ多くのCSS3のシャドウとグラデーションを削除してください。ブラウザのアニメーション化はかなり難しいです。

Firefoxにはプラグインがあると思います。

あなたはこの私にそれを設定する位置最適化することができます:ここでは絶対、およびオーバーフロー隠されているのdiv内のコンテンツを置く...(フェイク体のいくつかの種類)

をそれについての優れた記事です:http://www.stubbornella.org/content/2009/03/27/reflows-repaints-css-performance-making-your-javascript-slow/

もう1つのことは、スクロールをアニメーション化するのではなく、要素を自己配置し、絶対配置された要素に配置し、この要素をアニメーション化することです。

再描画/リフローに関するいくつかの一般的なガイドライン:https://developers.google.com/speed/articles/reflow

+0

うわー、素晴らしいです!ばっちり成功。本当にありがとう! –

+0

私はあなたが示唆したことをしようとするいくつかの問題に遭遇しましたが、CSS3のものを元に戻すことは大いに助けになりました。スクロールの代わりにアイテムをアニメートすることは、別のテストプロジェクトで行ったことですが、うまくいきますが、今はメソッドを比較するのが難しいので、その中に非常に多くのcss3シャドーがあります。私は結局それをやるつもりです。あなたの助けをもう一度ありがとう! –

+0

私は今、ウィンドウがスクロールせずにページ全体が "下に"移動する第2のバージョンを作った。その効果は同じですが、パフォーマンスはさらに悪化します。しかし、上で述べたように、CSS3エフェクトの使用を減らすことはそのトリックです。また、jquery UIの「位置」を使用して何らかの理由でよりうまくいくかどうか試してみます。 –