JavaScript函数封装--上下缓动动画(只支持(滚动动画过渡,不适合左右位移))

函数封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// obj:盒子对象
// target:目标位置
// time:运动时间
// callback:回调函数
function move(obj,target,time,callback){
// 清除定时器,防止多次点击加快移动速度和创建新的定时器
clearInterval(obj.timer)
// 结束
obj.timer = setInterval(function(){
// 缓动动画原理
// (目标位置-现在位置)/10
var step = (target - window.pageYOffset) / 10;
step = step > 0 ?Math.ceil(step) : Math.floor(step)
// 步行算法结束
if(window.pageYOffset == target){
clearInterval(obj.timer)
// 回调函数,如果有就执行,如果没有就不执行
if(callback){
callback()
}
// 回调函数结束
}
// obj.style.left = window.pageYOffset + step +'px'
window.scroll(0,window.pageYOffset + step)
},time)
}

函数运用

1
move(obj,time,target)
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022 BieGua
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信