2012-03-15 2 views
0

グーグルを読み込んでもまだ問題を解決できない場合は、もう一度問題を解決する必要があります。 http://goo.gl/Ibcdp 右上を見ると、検索ボックスが表示されます。それは、フォーカスを実行する素晴らしいアニメーション効果があります。完全なスクリプトはここにある: http://goo.gl/VFBukjQuery Simulatenous animation

今、私は(私は2つのクラス、通常の1、およびサーバサイドレンダリングitem_selectedクラス)を使用しての幅を拡大しています他のメニュー項目を縮小(2つのアニメーションイベントをしたいです検索コンテナdiv(#the_search_field)を完全に同時に実行すると、最後の2つの項目の間に数秒間の小さなギャップがどのようにして生成されているのかがわかります。

これは、アニメーション..また、firefoxでは、これはさらに減速し、その遅延のために、メニュー項目の幅の合計がコンテナの全幅を超えてオーバーフローし、スプリット秒間にすべてが破損します。 あなたの助けてくれてありがとう!

+0

何か問題がある場合は、Firefoxをチェックインしてください。それはすべて台無しになる。 – elclanrs

+0

CSSのアニメーションとトランジションを使用してください! – Jason

+0

あなたはそのページに89個のエラー、8個の警告があります。私はそれらのいくつかは無視することができると確信していますが、それは正しいパスに入れますhttp://validator.w3.org/check?uri=http%3A%2F%2Fwww.instantrepair.co.uk%2F&charset= %28detect +自動的に%29&doctype =インライン&グループ= 0 – elclanrs

答えて

0

このデモページチェックアウト:

http://ejohn.org/files/sync

は、それが「ステップ」関数で行うのかを確認するために、ページのソースを表示します。

+0

ありがとう私は使用します私のニーズに合わせて編集してください。それにうれしいことに、うまくいけば、それは魅力のように働くでしょう。 –

0

完全に壊れたFirefoxの問題を修正するには、#main_menuoverflow: hiddenとしてください。これは、項目が少し長すぎるときにフローが破損するのを防ぎます。

ギャップは、計算がリアルタイムで行われることによるものです。アニメーションは常にになるでしょう。これはアニメーション関数呼び出しが後で呼び出されるためです。これらを一緒にアニメーション化することで、これが目立つのを減らすことができますが、これを行うにはカスタムのタイムアウト/ステップ関数を記述する必要があります。 2つの異なるjQuery呼び出しを使用すると、各アニメーションキュー間のjQuery切り替えとDOM要素の更新のオーバーヘッドが発生します。これには時間がかかります。

+0

ねえ...いい投稿。私はもっ​​と精巧にしたいと思っていました。彼が話している「副作用」は副作用ではなく、開始から終了までの距離を決定するためにアルゴリズムを計算するのに正確な時間であり、offset.topとoffsetの量です。左に変更する必要があり、何度変更する必要があります。この処理に要する正確な時間は、サーバの処理能力に応じてこの機能を計算するために2msから22msまで変化します。これを補うためにタイムアウトとして17msを使用します(しかし、実際にはそうするべきではありません)。 – Ohgodwhy

+0

"結果は"の "副作用"よりも優れていると思います。しかし、はい、計算に時間がかかる...人々はそれを忘れる傾向があります。 –

+0

私は人々が自分のために見てテストできるように、関数名を含めることを意味しました!私はばかなことができます。これは本当にうまくそれを壊す - > http://cdmckay.org/blog/2010/03/01/the-jquery-animate-step-callback-function/ – Ohgodwhy