滚动到点击事件

时间:2017-11-03 02:39:37

标签: javascript jquery html css scroll

我有一个div,类别为“秒”。我想在点击button时滚动到页面中的该元素。以下是我使用jQuery编写它的方法,但我想知道如何用vanilla JavaScript编写它?

$("button").click(function() {
    $('html,body').animate({
        scrollTop: $(".second").offset().top},
        'slow');
});

1 个答案:

答案 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>