我的网站侧边栏上有一些链接。链接具有班级补习。每次单击其中之一时,都必须单击两次以滚动到我的内容。第一次之后什么也没发生。我使用jQuery。
$(".sidebarelement").on("click", function () {
var offset = $(':target').offset();
if (offset) {
var scrollto = offset.top - 158; // minus fixed header height
$('html, body').animate({scrollTop: scrollto});
}
});
我该如何解决?
答案 0 :(得分:0)
对于遇到此问题的其他所有人,我都有解决方案。
这个想法是从单击的链接中获取href属性,并将其动画(滚动)到该位置。还要注意e.preventDefault()阻止链接跳到他的位置。
这是我的代码段。
$(document).ready(function () {
$('.sidebarelement').on("click", function () {
var href = $(this).attr('href');
$('html, body').animate({
scrollTop: $(href).offset().top - document.getElementById('navDiv').clientHeight // minus fixed header height
}, 'slow');
e.preventDefault();
});
});