私は自分のウェブサイトでフェードアウト メニュー (menew および menew2 と呼ばれる) に小さな jquery スクリプトを作成しました。ユーザーがページの上部にいる場合、両方が存在します。ユーザーが一番下にいるときは、2 番目 (一番下のバー) のメニューのみが表示されます。ユーザーがページの途中にいるとき、メニューはありません。
/*Menu*/
$(document).ready(function(){
$(window).scroll(function(){
if($(window).scrollTop()<50){
$('#menew').fadeIn("slow");
} else {
$('#menew').fadeOut("slow");
}
});
});
/*Menu 2*/
$(document).ready(function(){
$(window).scroll(function(){
if($(window).scrollTop() > 0 - 50 + ($(document).height() - $(window).height())){
$('#menew2').fadeIn("slow");
} else if($(window).scrollTop()<50){
$('#menew2').fadeIn("slow");
} else {
$('#menew2').fadeOut("slow");
}
});
});
これはうまく機能しますが、下から上に、またはその逆にすばやくスクロールすると、下のメニュー (ページの上部と下部の両方に存在する唯一のメニュー) がフェードバックを開始する前に完全にフェードアウトし続けます。の。
メニューがフェードアウトを停止し、上部/下部に達したときにフェードインを開始するように、これを再コーディングするにはどうすればよいですか。
問題の拡張として、ユーザーが狂ったようにスクロールした場合 (例: 50 ピクセル以上下にスクロールしてから、数回続けて一番上に戻る)、停止すると、番号が完了するまでメニューがフェードアウトしてフェードインし続けます。ユーザーが行ったサイクル数。ユーザーがスクロールを停止したら、フェードアウト/フェードインをキャンセルするコードを追加するにはどうすればよいですか。
どんな助けでも大歓迎です:)