ユーザーがメイン ヘッダーを超えて下にスクロールした場合にのみ表示される、非常にシンプルなスライドダウン ナビゲーション バーを作成しました: http://hammr.co/9525666/23/index.html
ただし、アニメーションは驚異的で、まったくスムーズではありません。スクロール中に常に呼び出されているためだと思いますが、一度だけ呼び出す方法がわかりません。
私のコードは次のようになります。
function setOffset() {
bannerH = $('header').height();
}
function navTop() {
if( $(window).scrollTop() > bannerH ) {
$('#navbar').stop().animate({
top: 0
}, 100);
} else {
$('#navbar').stop().animate({
top: -61
}, 100);
}
}
setOffset();
$(window).scroll(function(){
navTop();
});
を削除する.stop()
と、アニメーションに大きな遅延が生じます (バーがスクロールするまで「アニメーション化」するのに十分な時間を待つか、そのように見えると思います)。
とにかく、私の質問は簡単です – アニメーションがスムーズになるようにこれを調整するにはどうすればよいですか?