jQuery平滑滚动偏移量只在压缩卷上?
问题描述:
我目前正在研究一个网站项目,并尝试通过jQuery实现平滑滚动功能。jQuery平滑滚动偏移量只在压缩卷上?
这里是我的(工作!)到目前为止的代码:
$(document).ready(function(){
$('a[href*="#"]:not([href="#"])').click(function() {
var displace = 72; /* Vertical offset for scroll */
var target = $(this.hash);
$('html, body').animate({
scrollTop: target.offset().top - displace}, 1000);
return false;
});
});
因为网站也有其转换出向上滚动时,向下进入视滚动时视口的头,我需要以某种方式通过将滚动目标偏移一定量来适应其可见性,因此变量为displace
。
截至目前,无论滚动方向如何,从target.offset().top
减去displace
变量。我将如何修改上面的代码,以便在向上滚动时仅减去它?
我想到的线沿线的中添加if else
声明那里,东西:
var scrollPos = $(window).scrollTop();
if (target.offset().top > scrollPos) { /* On downscroll */
scroll to target
} else { /* On upscroll */
scroll to target - displace
}
任何建议,得到这个工作?
非常感谢!
添
答
最终得到了它使用这个工作:
$(document).ready(function(){
$('a[href*="#"]:not([href="#"])').click(function() {
var scrollPos = $(window).scrollTop();
var displace = 72;
var target = $(this.hash);
if (scrollPos > target.offset().top) {
$('html, body').animate({
scrollTop: target.offset().top - displace}, 1000);
return false;
} else {
$('html, body').animate({
scrollTop: target.offset().top}, 1000);
return false;
}
});
});
添加您的其余代码。 – frnt
@frnt属于平滑滚动功能,这是完整的代码(从另一个*线程复制)。该网站我的工作是一个页/视差滚动种和功能允许不同的锚之间平滑滚动像 – wandervogel
您需要添加你已经尝试了什么。 – frnt