ユーザーが 500px を超えてスクロールすると表示され、ユーザーがページを上にスクロールすると消える固定ナビゲーション メニューを作成しようとしています。
ただし、単に現れたり消えたりするのではなく、スライドする動きでアニメーション化したいと考えています。
Stackoverflow でこの質問に対する回答の一部を見つけました (リンク)。JSFiddle ソリューション: http://jsfiddle.net/k3AHM/1/
var nav = $('.nav');
var scrolled = false;
$(window).scroll(function () {
if (500 < $(window).scrollTop() && !scrolled) {
nav.addClass('visible').animate({ top: '0px' });
scrolled = true;
}
if (500 > $(window).scrollTop() && scrolled) {
nav.removeClass('visible').css('top', '-30px');
scrolled = false;
}
上記のコードは、ユーザーが 500px を超えたときに固定ナビゲーション メニューがアニメーション表示される範囲で機能します。ただし、ユーザーがすぐに消えるのではなく、画面を上にスクロールすると、メニューが再びアニメーション化される必要があります。
メニューがインとアウトの両方でアニメーション化できるようにする JavaScript の変更を誰かが提案できれば、とても感謝しています。
ありがとうございました!