我想要一个解决方案,使用指向锚标记或javascript名称的#标签。
我目前使用的javascript看起来像window.scroll(0, 20000);
。问题是,当用户到达页面时,这会导致窗口抖动。
我知道有jQuery动画可以让这个动作更加渐进。但是,我想要的是使窗户的移动对用户来说难以察觉的东西。我希望好像用户降落在页面底部。
答案 0 :(得分:2)
您遇到的问题是您希望转到尚未加载的页面底部。我会考虑以隐藏格式加载页面,然后在全部加载时以及在您想要的位置滚动用户后显示它。使用焦点或滚动到方法。
看看灯丝网站。
他们用加载屏幕隐藏页面,直到它准备就绪。
这种方式没有混蛋。
希望这有帮助。
答案 1 :(得分:0)
如果页面已完全加载并显示,则在循环中它可以工作:
for(var n=0;n<1000;n++) window.scrollBy(0,20);
(请注意,20 * 1000 = 20000,这是滚动的原始位置。)
答案 2 :(得分:0)
Teemu的答案对我来说似乎不起作用(它直接到底部,使scrollBy步进的循环不可见),因为它没有实现延迟。
如果您想在1000毫秒内从页面的顶部到底部进行动画处理,请尝试更类似的内容:
for (var n = 0; n < 1000; n += 1) {
setTimeout(function () {
window.scrollBy(0, document.height / 1000);
}, n);
}
这将产生1秒(1000毫秒)的动画,以大约1000步的步长滚动到底部。