2013-08-16 95 views
4

我正在使用下面的JavaScript代碼來創建從我的導航到錨點的滾動效果。滾動到錨點上方100px

我遇到的問題是我想要滾動停止在錨點上方100px。

我需要在此代碼中更改以實現此結果?

$(document).ready(function() { 
    $('a[href^="#"]').click(function() { 
     var target = $(this.hash); 
     if (target.length == 0) target = $('a[name="' + this.hash.substr(1) + '"]'); 
     if (target.length == 0) target = $('html'); 
     $('html, body').animate({ scrollTop: target.offset().top }, 1000); 
     return false; 
    }); 
}); 

謝謝

回答

11

減去100點從target.offset()頂部的像素。像這樣:

$(document).ready(function() { 
    $('a[href^="#"]').click(function() { 
     var target = $(this.hash); 
     if (target.length == 0) target = $('a[name="' + this.hash.substr(1) + '"]'); 
     if (target.length == 0) target = $('html'); 
     $('html, body').animate({ scrollTop: target.offset().top-100 }, 1000); 
     return false; 
    }); 
}); 
+0

完美,謝謝! – Wiseguy