2017-05-29 54 views
0

我有一個平滑的滾動功能,用於在單擊鏈接時滾動到頁面的特定部分。但是,當它自動滾動到某個部分時,它不會考慮我的固定導航欄的高度,最終會覆蓋一些內容。我想計算導航欄的高度和我目前的功能如何在使用平滑滾動功能時考慮導航欄的高度

$(function() { 
    $('a[href*="#"]:not(.carousel-control)').click(function() { 
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
    var target = $(this.hash); 
    target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
    if (target.length) { 
    $('html, body').animate({ 
     scrollTop: target.offset().top 
    }, 1000); 
    return false; 
    } 
} 
    }); 
}); 

回答

0

您需要在導航欄的高度增加scrollTop: target.offset().top內滾動位置減去它。這是一個整數值,可以通過簡單引用navbar DOM元素本身的.height()來計算。

下面是一個例子假設一個導航欄與類的navbar

scrollTop: target.offset().top + $('.navbar').height() 

希望這有助於! :)

相關問題