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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
css样式hover:rgab(0,0,200,0.3)
强烈推荐一款编译器。Hbulider
这个框架不能支持多物体的链式运动
老湿,大象放不进冰箱怎么办?
老师你真伟大
我kao,为什么我听的云里雾里的,听不懂好痛苦啊~~~~~
老师可以讲慢点吗?代码不用敲这么快吧

已采纳回答 / 追风的少年丶
这个计时器会一直执行,只有clearInterval()才能结束周期执行,所以它是有时间间隔的多次循环,当alpha==iTarget的时候,会执行clearInterval(),这个循环也就结束了
为什么那个分享框左边的div.offsetLeft在变速的时候不是0和-200??

已采纳回答 / code16
<...code...>调整代码缩进后,看到的第一个问题,getComputedStyle

已采纳回答 / code16
<...code...>更改后的代码,更改有两点:<...code...>和<...code...>之前的形式无法正确调用函数!但是这样的代码跑了之后 就会发现,width会一直增长下去,原因在视频里也提到了,是border的问题,你设置的是cc++,但是每次增长的是3px。改正的方法可以按照视频里提到的,也可以把width的设置放在cc判断的里面(效果是没有前面的方法好,而且依旧是每次增加3px)。

已采纳回答 / code16
把  var iCur=parseInt(getStyle(obj,attr));   放在for循环里试试 你的attr是在for循环里定义的
原因:因为有除法,当offsetLeft值变的越来越小时,最后相除会使speed变成小数,从而offsetLeft与speed相加会有小数,又因显示器的最小像素单位是1px,所以浏览器默认向下取整(变小,即floor),将小数省略,小数省略后,最终的值会变小,从而导致程序无法进入if判断,进入死循环。
这一点可以用console.log(speed)可以验证,speed的log会一直输出,因为程序死循环了。
所以,需要ceil or floor来解决这个问题,让程序进入if的判断,终止循环。
希望老师上传源码,以供参考。
点个赞!老师我爱你
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消