2016-11-21 13 views
0

私が持っているコードをオフセット:jQueryのは、スムーズなスクロールのトップナビゲーションバー

$(window).scroll(function() { 
    if ($(".nav").offset().top > 150) { 
     $(".nav-fixed-top").addClass("top-nav-collapse"); 
    } else { 
     $(".nav-fixed-top").removeClass("top-nav-collapse"); 
    } 
}); 


$(function() { 
    $('a.page-scroll').bind('click', function(event) { 
     var $anchor = $(this); 
     $('html, body').stop().animate({ 
      scrollTop: $($anchor.attr('href')).offset().top 
     }, 1500, 'easeInOutExpo'); 
     event.preventDefault(); 
    }); 
}); 

が、私はそれを約100pxにトップをSTH移動する必要が を隠されているセクションのタイトルをスクロールした後?私が試した:

scrollTop: $($anchor.attr('href')).offset().top-100 

または

scrollTop: $($anchor.attr('href')).offset({top: -100}).top 

が、これは正しく動作しません:/

答えて

1

をあなたは、その0

nav-fixed { 
    position:fixed; 
    top:0; 
} 

はこれを試してみてくださいので、オフセット先頭に100を追加する必要がありますが:

$('html, body').stop().animate({ 
    scrollTop: $(".nav").offset().top + 100 
}, 1500, 'easeInOutExpo'); 

あなたは

console.log($($anchor.attr('href')).offset().top); 

幸せなコーディングを使用して値をあなたの変数を確認することができます!

+0

はい、これで十分でした!大いに感謝する! :D –

関連する問題