本文介绍如何使用 JavaScript 实现页面平滑回到顶部的功能。通过自定义速度和迭代函数,利用 window.scrollTo 方法逐步调整滚动条位置,实现动画效果。代码包含速度参数控制及递归调用逻辑,适用于需要优化用户体验的网页场景。
JavaScript 回到顶部功能实现
具体实现代码如下所示:
//speed 参数控制滚动速度,time 参数定义时间间隔
function gotoTop(speed,time){
speed = speed || 0.1;
time = time || 16;
// 获取当前滚动条距离页面顶部的水平偏移量
var x = document.body.scrollLeft;
// 获取当前滚动条距离页面顶部的垂直偏移量
var y = document.body.scrollTop;
// 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
speed++;
window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
// 如果距离不为零, 继续调用迭代本函数
if(x > 0 || y > 0) {
window.setTimeout("gotoTop(" + speed + ", " + time + ")", time);
}
}