在没有jquery的情况下滚动到页面上的元素(Vanilla Javascript)

时间:2018-03-08 04:01:40

标签: javascript html

我知道有很多类似的问题,但是!它们似乎都是从2010年到2013年,需要使用我想避免使用的jQuery。

是否有一种简单的方法可以使用Javascript滚动到具有特定ID的元素并控制它所在的位置?

我曾尝试使用scrollIntoView(),但我无法将其降落到我想要的地方。即使有详细的额外配置here.还有更精确的方法吗?

我试过了

document.getElementById('6QWsZnqyuAKke20CgG4WIQ')
  .scrollIntoView({'every different config option'});

通常会发生什么事情会滚动到远或不够,从来没有我想要的地方。我还检查了浏览器兼容性,options在某些浏览器中不可用。有更精确的方法吗?

由于

1 个答案:

答案 0 :(得分:3)

el = document.getElementById('your-el-id');
var rect = el.getBoundingClientRect();
window.scrollTo(rect.x, rect.y)

此代码将元素放在窗口顶部。只需修改window.scrollTo()中的值即可获得所需的位置。