滚动窗口,不带跳转(javascript或hashtag)

Scroll window without a jump (javascript or hashtag)

本文关键字:javascript hashtag 窗口 滚动      更新时间:2023-09-26

我想要一个使用指向锚标记名称的hashtag或javascript的解决方案。

我当前使用的javascript看起来像这个window.scroll(0, 20000);。问题是,当用户到达页面时,这会导致窗口向下抖动。

我知道有一些jQuery动画使这个动作更加渐进。然而,我想要的是让用户无法察觉窗口的移动。我想成为好像用户降落在页面底部。

您面临的问题是,您希望转到尚未加载的页面的底部。我会考虑以隐藏格式加载页面,然后在加载完所有页面后,在将用户滚动到您想要的位置后显示。使用焦点或滚动到方法。

看看灯丝集团的网站。

http://filamentgroup.com/

他们用加载屏幕隐藏页面,直到页面准备就绪。

这样就不会有混蛋。

希望这能有所帮助。

在循环中,如果页面已完全加载并显示:

for(var n=0;n<1000;n++) window.scrollBy(0,20);

(注意,20*1000=20000,这是原始的滚动位置。)

Teemu的答案似乎对我不起作用(它直接到达底部,使带有scrollBy步进的循环不可见),因为它没有实现延迟。

如果你想在1000毫秒内从上到下设置动画,可以尝试类似的方法:

for (var n = 0; n < 1000; n += 1) {
    setTimeout(function () {
        window.scrollBy(0, document.height / 1000);
    }, n);
}

这将产生1秒(1000ms)的动画,大约分1000步滚动到底部。