单击边栏中的项目时防止主 window 滚动
prevent main window from scrolling when an item in the sidebare is clicked
在我的网站 www.fsquare.be/diensten.html 中,我有一个边栏,在屏幕左侧的正文中有指向项目的链接。当我单击侧边栏中的某个项目时,整个 window 会滚动,这会导致目标标题滚动到看不见的地方。 (如果你尝试过,你就会明白我的意思)。
我怎样才能防止这种情况发生?
与其使用超链接,不如尝试使用 javascript 中的 .scrollTop
。像这样:-
document.getElementById("main").scrollTop = 200;
您可以像在这段代码中那样对滚动位置进行硬编码,或者您可以使用 .offsetTop
获取特定元素的位置,然后将其分配到 200 的位置。
由于您使用的是 jQuery,因此您可以执行以下操作:
$('#sidebar a').click(function () {
$('#main').animate({
scrollTop: $($(this).attr('href')).offset().top
}, 500);
return false;
});
我还添加了一个滚动动画,因为为什么不呢。
在我的网站 www.fsquare.be/diensten.html 中,我有一个边栏,在屏幕左侧的正文中有指向项目的链接。当我单击侧边栏中的某个项目时,整个 window 会滚动,这会导致目标标题滚动到看不见的地方。 (如果你尝试过,你就会明白我的意思)。 我怎样才能防止这种情况发生?
与其使用超链接,不如尝试使用 javascript 中的 .scrollTop
。像这样:-
document.getElementById("main").scrollTop = 200;
您可以像在这段代码中那样对滚动位置进行硬编码,或者您可以使用 .offsetTop
获取特定元素的位置,然后将其分配到 200 的位置。
由于您使用的是 jQuery,因此您可以执行以下操作:
$('#sidebar a').click(function () {
$('#main').animate({
scrollTop: $($(this).attr('href')).offset().top
}, 500);
return false;
});
我还添加了一个滚动动画,因为为什么不呢。