JavaScript实现回到页面顶部带缓动动画

作者:页面旅途

时间:2026-10-30

浏览:404

本文介绍如何使用JavaScript实现页面回到顶部的动画效果。通过监听滚动事件显示按钮,并利用定时器配合缓动算法实现从快到慢的平滑滚动体验。代码包含按钮显隐逻辑及滚动控制,适合需要提升用户体验的前端项目参考。

文章目录

JavaScript实现回到页面顶部带缓动动画

近期参与的前端项目中,多次遇到需要实现“回到页面顶部”功能的需求。为了便于后续查阅和复用,这里记录一下相关的JavaScript实现思路与代码。

在基础功能之上,可以进一步优化体验,添加从快到慢的缓动动画效果,并支持在滚动过程中随时下拉滚动条以停止滚动。参考了相关课程后,最终整理出以下JavaScript实现代码:


//页面加载后触发
window.onload = function(){
var btn = document.getElementById('btn');
var timer = null;
var isTop = true;
//获取页面可视区高度
var clientHeight = document.documentElement.clientHeight;
//滚动条滚动时触发
window.onscroll = function() {
//显示回到顶部按钮
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
if (osTop >= clientHeight) {
btn.style.display = "block";
} else {
btn.style.display = "none";
};
//回到顶部过程中用户滚动滚动条,停止定时器
if (!isTop) {
clearInterval(timer);
};
isTop = false;
};
btn.onclick = function() {
//设置定时器
timer = setInterval(function(){
//获取滚动条距离顶部高度
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
var ispeed = Math.floor(-osTop / 7);
document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
//到达顶部,清除定时器
if (osTop == 0) {
clearInterval(timer);
};
isTop = true;
},30);
};
};

以上即为基于JavaScript实现回到页面顶部动画的完整代码。该实现逻辑清晰、代码简洁,因此未添加过多注释。如果在参考或使用过程中遇到任何问题,欢迎留言交流,我会及时回复。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章