我正在使用以下代码来平滑移动,当用户点击一个以“#”开头的 href
链接时:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
我需要将scrollTop值增加约40px,以便停止点不覆盖内容。我修改了代码如下,但似乎并没有实现(注意代码末尾的+40):
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top + 40
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
+ 40
。这是什么意思? - Praveen Kumar Purushothaman$target.offset().top
返回了预期值? - George Cummins