Javascript 如何使用js dom滚动到一个div,而不知道它的高度?

Javascript 如何使用js dom滚动到一个div,而不知道它的高度?,javascript,html,css,Javascript,Html,Css,我有不同id的不同部分,希望滚动到它们。我用Do.GETelEnMyBid(ID).SCROLLIOTVIEW()进行了,但是视图将在div的中间滚动而不是开始。我更喜欢没有jquery的解决方案。因此,简化的代码如下所示: CSS HTML 将块:“开始”添加到您的scrollIntoView选项中 函数滚动到a(id){ document.getElementById(id).scrollIntoView({ 行为:“平滑”, 块:“开始” }); } #id1{ 高度:200vh; 背景

我有不同id的不同部分,希望滚动到它们。我用Do.GETelEnMyBid(ID).SCROLLIOTVIEW()进行了,但是视图将在div的中间滚动而不是开始。我更喜欢没有jquery的解决方案。因此,简化的代码如下所示:

CSS

HTML


块:“开始”
添加到您的scrollIntoView选项中

函数滚动到a(id){
document.getElementById(id).scrollIntoView({
行为:“平滑”,
块:“开始”
});
}
#id1{
高度:200vh;
背景:黑色;
}
#id2{
高度:200vh;
背景:黄色;
}
div{
宽度:100%;
身高:100%;
}

应自动与元素顶部对齐,但请尝试在函数参数中添加
块:“开始”
(在行为之后)。如果这不起作用,可能是浏览器不兼容的问题,因为
scrollIntoView
仍处于试验阶段。
#id1 {
        height: 200vh;
        background: black;
      }
#id2 {
        height: 200vh;
        background: yellow;
      }
<section id="id1">
   <div href="" (click)="scrollTo('id2')">
</section>
<section id="id2">
   <div href="" (click)="scrollTo('id1')">
</section>
scrollTo(id) {
    document.getElementById(id).scrollIntoView({
      behavior: "smooth"
    });