博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS小问题之——缓冲运动
阅读量:4503 次
发布时间:2019-06-08

本文共 671 字,大约阅读时间需要 2 分钟。

今天写一个实现动画缓冲的效果,源代码用到了一个小技巧,之前觉得并没有什么用,后来觉得还是很有必要的,贴上来记录一下。

代码如下:

//图片切换,淡入淡出效果    function show(a){        index=a        for(i=0;i
0 ? Math.ceil(iSpeed) : Math.floor(iSpeed); oul[0].offsetTop==oimgtop?clearInterval(timer):oul[0].style.top=oul[0].offsetTop+iSpeed+"px" },30) }

timer指向了一个周期函数是这段代码实现缓冲效果的关键,通过每30ms计算一次oimgtop,并将其与目标值的差除以10就是我们每次需要增加/减少的量,可见每次的增加/减少量是在逐渐减少的,也就实现了缓冲效果。

但是之前我一直以为这样不是永远加不到目标值么。

iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

通过Math.ceil处理我们每次的增加量,来使我们快接近目标值的时候,每次增加的量都是1或者-1,这样一步步靠近我们的目标值。

目标值=当前值 的时候,清除timer周期函数。这里需要注意的是,目标值应该是一个整数!

 

转载于:https://www.cnblogs.com/coderzzp/p/6412935.html

你可能感兴趣的文章
POJ 1067 取石子游戏
查看>>
django开发框架-view & template
查看>>
[Linux]systemd和sysV
查看>>
时间日期正则表达
查看>>
JSON.NET 简单的使用
查看>>
java 集合 HashMap
查看>>
三栏宽度自适应布局的三种方法及其优缺点
查看>>
实训作业1
查看>>
日期控件 DatePicker 在ie8不能用
查看>>
多个表左联,要返回全部的结果,解决不能用where的问题
查看>>
hibernate left join fetch 出错的问题
查看>>
ifconfig,netstat command not found
查看>>
插入多个背景音乐
查看>>
英文外包
查看>>
ajax基础知识
查看>>
Activity与Service之间交互并播放歌曲
查看>>
在使用python3.7+channels时会出现rsync错误
查看>>
这一篇是运算符。。
查看>>
在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法
查看>>
windows系统的安装时间怎么查看
查看>>