我使菜单变粘了,但是我现在遇到的问题是菜单不允许我看到类别的标题。您可以在这里看到它
我想知道如何将滚动动画稍微移到顶部以避免 菜单位于类别标题上方。
我的代码是这样的:
$(".nav li a").on('click', function(event) {
// Make sure this.hash has a value before overriding default behavior
if (this.hash !== "") {
// Prevent default anchor click behavior
event.preventDefault();
// Store hash
var hash = this.hash;
// Using jQuery's animate() method to add smooth page scroll
// The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
// Add hash (#) to URL when done scrolling (default click behavior)
window.location.hash = hash;
});
} // End if
});
谢谢!
答案 0 :(得分:0)
您可以简单地从scrollTop: $(hash).offset().top
中减去一个值,例如scrollTop: $(hash).offset().top - 50
当然,这会中断第一个链接,因为它会给出负值。可能的解决方案是
scrollTop: Math.max($(hash).offset().top - 50, 0)
(如果值为负Math.max
则会返回0
)
这可以对您的代码进行尽可能少的更改,但是我认为可能还有其他方法可以实现您想要的目标。