0

スクロール中にナビゲーションバーがブラウザーウィンドウの上部に到達するまで、固定位置に留まるナビゲーションバーを計画しています。

jqueryでこれを達成できましたが、スムーズではありません

      $(window).scroll(function()
     {     var box = document.getElementById('box'), 
           scroll = $(window).scrollTop();     
           if (scroll <= 598) { $("#box").css("top",598); }  
          else { $("#box").css("top",scroll); }
   });

ここのように動きが滑らかになるのはどうしてですか?

  1. 参照 1

私はこのようなものを得ることになります:

問題を詳しく説明していない場合はご容赦ください。

4

1 に答える 1

1

あなたはかなり近いです。IGN は、スクロール マーカーを超えたときにリッスンし、バーを固定位置に切り替えます。そうすれば、ブラウザは 1 つのスクロール イベントを処理するだけで済み、残りは CSS が処理します。

firebug / chrome dev tools を開いて要素を観察すると、実際にスタイルがマーカーでからposition: absoluteに変更されていることがわかります。position: fixed

于 2012-07-18T21:00:04.370 に答える