0
私のウェブサイトには簡単なアニメーションスクロールが追加されていますが、jQueryでは少し変わっています。ウェブサイトのウィンドウ上部がウェブサイトの上部から静的な.nav
ナビゲーションの下にあるときは常に、ナビゲーションバーが表示されます。ただし、リンクをクリックすると(jQuery onClickアニメーションスクロール機能とのリンクがあると仮定します)、.nav-fixed
が一時的に非表示になり、ウェブサイトのスクロール後に再び表示されます。私はメッセージをログに記録していますShould hide the nav
トップのスタティック.nav
がウィンドウビューにあり、ページの一番下にあってウェブサイト上のonclick jquery関数のリンクをクリックしてもメッセージが一度記録されることに気付きました静的ナビゲーションがウィンドウビューにある場合OnClickはscrollTopを0にします。
解決方法はありますか?コードここhttp://www.mmsmsy.com です:
const addClickToNav = (element) => {
$(window.opera ? 'html' : 'html, body').animate({scrollTop: $(element).offset().top - 50}, 1000);
}
$('.nav-link-top').on('click',() => $(window.opera ? 'html' : 'html, body').animate({scrollTop: 0}, 1000));
$('.link-start').on('click',() => addClickToNav('.about'));
$('.nav-link-skills').on('click',() => addClickToNav('.skills'));
$('.nav-link-portfolio').on('click',() => addClickToNav('.portfolio'));
$('.nav-link-contact').on('click',() => addClickToNav('.contact'));
$(window).scroll(function() {
if ($(this).scrollTop() > $('.nav').offset().top + $('.nav').height() + 50 && $('.nav-fixed').css('display') == 'none') {
$('.nav-fixed')
.css('display', 'flex')
.hide()
.slideDown();
}
if ($(this).scrollTop() < $('.nav').offset().top + $('.nav').height() + 50) {
console.log("Should hide the nav");
$('.nav-fixed').slideUp();
}
});
は、あなただけの前に '' 'else'''キーワードを追加しました第二' '' if'''ステートメント?もしそうなら、いいえ、違いはありません。あなたが作った他の変更を見逃してしまったら、私には何も見えないので、それを指摘してください。 –