我正在使用下面的JavaScript代码创建从导航到锚点的滚动效果。
我遇到的问题是我希望滚动停止在锚点上方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;
});
});
谢谢
答案 0 :(得分:12)
从target.offset()。顶部减去100个像素。像这样:
$(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;
});
});