如何偏移我的自动滚动?
How do I offset my auto scroll?
每当它从一个 div 转换到另一个时,我需要将我的自动滚动功能偏移大约 50-100 像素。
下面的脚本是我正在使用的。当我单击 link 时,它会平滑地向下滚动到相关 Div.
的顶部
但是我的网站顶部有一个粘性 header,因此它始终覆盖您过渡到的 div。
我是否可以将过渡设置为转到 div 的顶部,然后将其偏移 -100 像素?
我的代码如下。
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
好的,根据您的评论,您可以尝试以下方法:
$('html, body').stop().animate({
'scrollTop': ($target.offset().top - 100) // 100 is hard coded though you can make it dynamic if you know identifier of your sticky div like so: ($target.offset().top - $("#sticky-div").outerHeight())
}, 900, 'swing', function () {
window.location.hash = target;
});
每当它从一个 div 转换到另一个时,我需要将我的自动滚动功能偏移大约 50-100 像素。
下面的脚本是我正在使用的。当我单击 link 时,它会平滑地向下滚动到相关 Div.
的顶部但是我的网站顶部有一个粘性 header,因此它始终覆盖您过渡到的 div。
我是否可以将过渡设置为转到 div 的顶部,然后将其偏移 -100 像素?
我的代码如下。
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
好的,根据您的评论,您可以尝试以下方法:
$('html, body').stop().animate({
'scrollTop': ($target.offset().top - 100) // 100 is hard coded though you can make it dynamic if you know identifier of your sticky div like so: ($target.offset().top - $("#sticky-div").outerHeight())
}, 900, 'swing', function () {
window.location.hash = target;
});