这里所需要想的是怎么才能实现由快到慢的操作,我们可以想到二元一次函数开口向下的左半部分正好符合我们的条件,他的加速度不断减小。然后只要设置定时器去执行这个函数就可以了
使用setTimeout
get_top.onclick = function () {
function gotop() {
//获取窗口被卷高度
var sTop = window.scrollY;
var offset = sTop - (sTop * 0.1 + 10);
if (offset > 0) {
window.scrollTo(0, offset);
setTimeout(function () {
gotop();
}, 25);
} else {
window.scrollTo(0, 0);
}
}
gotop();
};
使用setInterval
get_top.onclick = function () {
var timer = setInterval(function () {
var sTop = window.scrollY;
var offset = sTop - (sTop * 0.1 + 10);
if (offset > 0) {
window.scrollTo(0, offset);
} else {
window.scrollTo(0, 0);
clearInterval(timer);
}
}, 25);
}