为了账号安全,请及时绑定邮箱和手机立即绑定

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰

已采纳回答 / 慕粉_紫色萱依草
oDiv.offsetLeft<iTarget?speed=10:speed=-10;个意思就是赋值speed的过程啊

已采纳回答 / lanrtop
根据你输入的数值,在进行计算时(例如:浮点数乘以整数),浏览器对其进行识别,有时会出现一些不易发现的Bug(例如:视频中出现的0.07*100得到的结果是7.00000000001)。为了在数值上完全避免Bug。建议您还是用Math.round()来处理下最终数值。保持良好的细节处理习惯可以增加开发效率。

已采纳回答 / lanrtop
不好意思,我没能完全理解你的问题。请把你修改后的代码粘贴上来。但我猜你想说的是【把清除计时器给注释掉后,还是可以到400px停止】这个意思吗?如果不是,请再一次详细描述您的问题。如果我猜对了,就请看下面的解答。以下是判断icur(从style中调取的属性值) 与iTarget(目标值)的if判断。if(icur == iTarget){            //clearInterval(obj.timer);      <---清除计时器函数 的目的是为了使计时器停止,阻止其继续增加宽度。<...

已采纳回答 / guaguaerhao
那我问你,所有运算过程中用到的数都一 一除以100,和最后的结果才除以100,哪个做法更好呢?

已采纳回答 / ZS012
主要是为了提高程序性能,其实在函数外声明也是可以找到,只不过花费的时间比在函数内要长..

已采纳回答 / 绝望之巅
定时器那里, timmer = setInterval(  

已采纳回答 / GK_poter
clearInterval()这个不能去掉吧,你在调函数时传入this就好了,清处时,清除指定的obj.timer

已采纳回答 / wanguanjin
你给出的代码不是已经实现了吗,不是通过判断分开透明度和宽高了吗

已采纳回答 / 橘子超人打怪兽
你看到的动画,其实都是一帧一帧的。只不过每一帧的某些样式发生了变化。多久播放下一帧,其实就是定时器的作用。

已采纳回答 / 橘子超人打怪兽
你的script中没有触发任何函数,,,需要把你绑定的时间赋值给 window.onload

已采纳回答 / qq_小帅峰少_0
html文档的第二个js代码少了一个花括号

已采纳回答 / Freestyle文
同学  你的getStyle没有封装啊function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ return getComputedStyle(obj,false)[attr]; }}

已采纳回答 / yanbxiaio
定时器不断刷新,每30ms刷新一次,就调用一次函数,运动的过程是宽高(等等想要的效果)变化的过程,调用函数改变宽高,达到运动效果,30ms刷新一次是因为,人眼能识出卡顿的最低帧数是30左右,因此30ms约等于30fps。

已采纳回答 / DollarCat
 var li=Document.getElementsByTagName("ali");        ali.onmousemover()=function(){            startMove(this,400);        }        ali.onmouseout=function(){            startMove(this,200);        }    }你这里用变量li获取了ali了要遍历一次啊,而且是用li【i】来调用事件onmouseover和onm...
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消