首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使页面滚动以将div放在顶部

使页面滚动以将div放在顶部
EN

Stack Overflow用户
提问于 2020-09-21 04:58:33
回答 2查看 32关注 0票数 0

我正在构建一个页面,其中有一些不同高度的div和一个文本,当我点击div的文本时,我想让页面移动,这样这个div就会出现在屏幕的顶部。

我到处搜索,但我发现经常与固定属性有关,问题是我不想更改div的position属性,我只想让页面自动滚动,这样div就会在顶部。

你对我可以从哪里开始有什么建议吗?

谢谢

代码语言:javascript
复制
.container {
  width: 100vw;
  height: auto;
}
.element {
  padding: 50px;
}
#element-1 {
  background-color: beige;
  height: 500px;
}
#element-2 {
  background-color: darkSeaGreen;
  height: 200px;
}
#element-3 {
  background-color: coral;
  color:  white;
  height: 800px;
}
#element-4 {
  background-color: MidnightBlue;
  color: white;
  height: 300px;
}
代码语言:javascript
复制
<div class="container">
  <div class="element" id="element-1">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-2">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-3">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-4">
    <h1>Some text</h1>
  </div>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-21 05:15:11

如果我没弄错的话,这会对你有帮助的。

代码语言:javascript
复制
let divs = document.querySelectorAll(".element");
divs.forEach(div => {
    div.addEventListener("click", event =>{
        let divTop = div.offsetTop;
        window.scrollTo(0, divTop);
        console.log(divTop + " --- " + window.scrollY);
    });
});
代码语言:javascript
复制
.container {
    width: 100vw;
    height: auto;
}
.element {
    padding: 50px;
}
#element-1 {
    background-color: beige;
    height: 500px;
}
#element-2 {
    background-color: darkSeaGreen;
    height: 200px;
}
#element-3 {
    background-color: coral;
    color:  white;
    height: 800px;
}
#element-4 {
    background-color: MidnightBlue;
    color: white;
    height: 300px;
}
代码语言:javascript
复制
<div class="container">
  <div class="element" id="element-1">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-2">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-3">
    <h1>Some text</h1>
  </div>
  <div class="element" id="element-4">
    <h1>Some text</h1>
  </div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2020-09-21 05:03:13

您需要实现一个执行此操作的函数

代码语言:javascript
复制
window.scrollTo(x, 0); 

其中x是元素的位置。你可以通过使用下面的命令来实现

代码语言:javascript
复制
let x = element.getBoundingClientRect().top;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63983604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档