JS滚动顶部

本文介绍了一个使用JavaScript实现的平滑滚动效果的函数goTop。通过设置加速度和时间间隔,可以让页面平滑地滚动到顶部,而不是瞬间跳转。此函数适用于需要优雅过渡效果的Web应用。
function goTop(acceleration, time) {
acceleration = acceleration || 0.1;//加速度 acceleration
time = time || 15;//时间间隔
var x=0,y=0;

if (document.documentElement) {
x = document.documentElement.scrollLeft|| 0;
y = document.documentElement.scrollTop || 0;
}

var speed = 1 + acceleration;//滚动速度
// floor()返回值为小于等于其数值参数的最大整数值 假如 y=36 speed=1.1 36/1.1=32;
// scrollTo()滚动条将要移动到x y 经过计算得出的值
window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
//如果 x (scrollLeft!=0)||y(scrollTop!=0)还未移动到顶部.所以setTimeout()继续执行该函数
if(x > 0 || y > 0) {
var invokeFunction = "goTop(" + acceleration + ", " + time + ")";
window.setTimeout(invokeFunction, time);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值