滚动到元素顶部而不使用动画

时间:2015-07-31 03:01:38

标签: javascript jquery

我可以在不使用animate()的情况下滚动到元素的顶部吗?我用Google搜索,但所有答案都是animate()。

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

我只想立即转到元素的顶部。在我的例子中,animate()不是必需的。

3 个答案:

答案 0 :(得分:3)

使用.scrollTop()



$("#button").click(function() {
  $('html, body').scrollTop( $("#elementtoScrollToID").offset().top);
});

.dummy {
  height: 1200px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="button">Test</button>
<div class="dummy"></div>
<div id="elementtoScrollToID">elementtoScrollToID</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你可以只传递一个锚,纯HTML:

<a href="#top">go to top</a>

您只需在网站顶部添加<a name="top"></a>:)

答案 2 :(得分:0)

使用Window.scroll()

,您可以在没有jQuery的情况下实现相同的效果

document.getElementById("button").onclick = function() {
    window.scroll(0,document.getElementById("elementtoScrollToID").offsetTop);
};
<button id="button">Button</button>

<div id="elementtoScrollToID" style="margin: 800px 0;">
  Scroll to here...
</div>

<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>