Javascript 如何自动向下滚动html页面?

Javascript 如何自动向下滚动html页面?,javascript,html,css,scroll,height,Javascript,Html,Css,Scroll,Height,我试着在主页之后开始每一页,大约500px,类似于这个网站: 你会注意到,当在主页后查看页面时,你会自动向下滚动,而不必事先通知,但你可以再向上滚动,再次享受特色滑块 我玩过scrolledHeight,但我不认为这是我需要的 基本上,我有一个特色部分,它位于我所有内容页面的顶部,但在你向上滚动之前,你不应该看到这个部分。有什么帮助吗?使用document.scrollTop更改文档的位置。将文档的滚动顶部设置为站点特色部分的底部您可以使用两种不同的技术来实现这一点 第一个是javascript

我试着在主页之后开始每一页,大约500px,类似于这个网站:

你会注意到,当在主页后查看页面时,你会自动向下滚动,而不必事先通知,但你可以再向上滚动,再次享受特色滑块

我玩过scrolledHeight,但我不认为这是我需要的


基本上,我有一个特色部分,它位于我所有内容页面的顶部,但在你向上滚动之前,你不应该看到这个部分。有什么帮助吗?

使用
document.scrollTop
更改文档的位置。将
文档
滚动顶部
设置为站点特色部分的
底部

您可以使用两种不同的技术来实现这一点

第一个是javascript:设置可滚动元素的scrollTop属性(例如
document.body.scrollTop=1000;

第二个是将链接设置为指向页面中的特定id,例如

<a href="mypage.html#sectionOne">section one</a>


然后,如果在目标页面中有该ID,页面将自动滚动。

您可以使用
.scrollIntoView()
。它将把一个特定的元素带入视口

例如:

document.getElementById( 'bottom' ).scrollIntoView();
演示:

脚本:

函数top(){
document.getElementById('top').scrollIntoView();
};
函数底部(){
document.getElementById('bottom').scrollIntoView();
setTimeout(函数(){top();},2000);
};
底部();
HTML:

顶部
底部
CSS:

#顶部{
边框:1px纯黑;
高度:3000px;
}
#底部{
边框:1px纯红;
}

以下是使用纯JavaScript的示例

函数滚动页面(){
函数f()
{
滚动到(0,i);
如果(状态==0){
i=i+40;
如果(i>=高度){status=1;}
}否则{
i=i-40;

如果(iyou可能想看看这个。太好了!我唯一关心的是你仍然可以看到滚动的动画。因此,我单击的每个页面都会加载第一个500px,然后滚动到它下面的内容。这会让用户感到恼火。想法?scrollTop只适用于DOM元素,而不适用于文档。对于你的第一项技术,how do你明白了,所以它取决于一个特定元素的位置吗?是的,我有关于做锚的想法,但这是最后的手段。我只是说不出这些家伙是如何在纯javascript中@Wex完成的。你可以在一个文档中找到一个元素的位置,如下所示:
var-topPosition=document.getElementById(“myElement”).offsetTop;
@Hambone您可以在这个脚本中看到,他们正在使用窗口对象的scrollTo方法。更多信息:这个解决方案在IE下对我有效,但在Chrome下不起作用。有什么想法吗?更多信息:它在Chrome中第一次加载页面时起作用,但在刷新时不起作用。我想这是由于这个错误造成的:。如果我硬刷新页面,它就起作用,即单击URL栏并按enter键。但页面刷新或单击刷新按钮(或按F5键)等软重置不起作用。