我使用此代码进行smoothscroll到目标链接,但我无法将偏移值top
设置为100px
:
$(function() {
$('a[href*=#]:not([href=#])').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 :(得分:0)
我自己已经明白了。所以我想分享一下。
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
var target_pos = (target.length > 0) ? target.offset().top : 0;
var rhd = $('.navtop');
var rhd_height = (rhd.length > 0) ? rhd.outerHeight() : 190;//change this value to get your desired offset value
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
target_pos -= rhd_height;
if (target_pos > 0) {
$('html,body').animate({
scrollTop: target_pos
}, 1000);
return false;
}
}
});
});
我尝试设置偏移值到我的固定导航栏顶部。对我来说工作没问题。