我有一个div
,类别为“秒”。我想在点击button
时滚动到页面中的该元素。以下是我使用jQuery编写它的方法,但我想知道如何用vanilla JavaScript编写它?
$("button").click(function() {
$('html,body').animate({
scrollTop: $(".second").offset().top},
'slow');
});
答案 0 :(得分:1)
function getPosition(element) {
var e = document.getElementById(element);
var left = 0;
var top = 0;
do {
left += e.offsetLeft;
top += e.offsetTop;
} while (e = e.offsetParent);
return [left, top];
}
function jumpTo(id) {
window.scrollTo(getPosition(id));
}
<a href="#one" onclick="jumpTo('one');">One</a>
<div style="height: 900px"></div>
<div id="one"></div>