![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/378ae78ce1d0dd5b371671b8a0b50ac0.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a09c90c0f885b043b6eb1c2e7c236516.png)
* {
margin: 0;
padding: 0;
}
.box {
width: 200px;
height: 200px;
background-color: cadetblue;
overflow: auto;
}
p {
height: 150px;
border: 1px solid red;
}
<div class="box" id="box">
<p onclick="aaa(this)">asdasd</p>
<p id="pp" onclick="aaa(this)">asdasd</p>
<button onclick="add(this)" id="btn">add</button>
</div>
let sqlBox = document.getElementById('box')
let pp = document.getElementById('pp')
function aaa(e) {
let realTop = sqlBox.offsetTop;
realTop += sqlBox.offsetParent.offsetTop;
sqlBox.scrollTo(0, e.offsetTop - realTop)
}
function add() {
var para = document.createElement("p");
para.id = "id1"
para.classList.add("class1");
para.classList.add("class2");
para.style.cssText = "width:200px;height:200px;background:#CC3399;text-align:center;line-height:220px"
var node = document.createTextNode("添加元素");
para.appendChild(node);
var element = document.getElementById("btn");
element.before(para);
setTimeout(() => {
sqlBox.scrollTo(0, para.offsetTop )
console.log(para.offsetTop);
});
}