更新
现在,使用javascript,使用滚动效果转到页面顶部会更容易一些:
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/scroll
window.scroll({
top: 0,
left: 0,
behavior: 'smooth'
});
警告
我们在最近的项目中一直在使用此功能,但是我在更新答案时刚刚检查了mozilla doc,我相信它已经更新了。眼下的方法是window.scroll(x-coord, y-coord)
,不提及或说明使用的例子object
,你可以设置参数behavior
来smooth
。我只是尝试了代码,它仍然可以在chrome和firefox中使用,并且object参数仍在规范中。
因此,请谨慎使用,也可以使用此Polyfill。除了滚动到顶部,这也填充工具处理其他方法:window.scrollBy
,element.scrollIntoView
,等。
老答案
这是我们的原始javascript
实现。它具有简单的缓和效果,因此,单击“ 顶部”后,用户不会感到震惊按钮。
它很小,在缩小时会变得更小。寻找替代jquery方法的开发者,但想要相同的结果,可以尝试一下。
JS
document.querySelector("#to-top").addEventListener("click", function(){
var toTopInterval = setInterval(function(){
var supportedScrollTop = document.body.scrollTop > 0 ? document.body : document.documentElement;
if (supportedScrollTop.scrollTop > 0) {
supportedScrollTop.scrollTop = supportedScrollTop.scrollTop - 50;
}
if (supportedScrollTop.scrollTop < 1) {
clearInterval(toTopInterval);
}
}, 10);
},false);
的HTML
<button id="to-top">To Top</button>
干杯!