滚动到顶部不能平滑地动画

时间:2016-02-09 17:50:27

标签: javascript html css scrolltop

我的代码:

__hash__

当我点击#roll-image时,页面会向上滚动,但会立即发生。我想让它顺利滚动。我环顾四周,其他人使用相同的代码,他们的工作完美。有什么想法吗?

3 个答案:

答案 0 :(得分:3)

请改为尝试:

$("html, body").animate({ scrollTop: "0" }, 2000);

如:



$('#scroll-image').on('click', function(){
                $("html, body").animate({scrollTop: 0}, 2000);
                return false;
        });

.box {
  
height: 1000px;
  background-color: red;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box"></div>

<a id="scroll-image" href="#">Scroll to top</a>
&#13;
&#13;
&#13;

动画htmlbody的原因是因为不同的浏览器会对不同的元素做出响应 - 通过这两种方式,它会兼容更多的浏览器。

答案 1 :(得分:2)

您想为 html body 元素设置动画,而不是窗口。

$('#scroll-image').click(function(){
    $("html, body").animate({ scrollTop: 0 }, 2000);
    return false;
});

答案 2 :(得分:2)

您使用$(window)收到错误。请改用$("html, body")

$("html, body").animate({scrollTop: 0}, 2000);

这是fiddle