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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
谢谢老师的精彩的讲解
自己写可以让你知道有哪些错可以犯
评论都在说flag放在定时器外面还是里面,看得我好懵逼啊
http://pan.baidu.com/s/1nuBTNQx 依据老师写的 修改了发现的bug 测试完没问题 原先老师的看似完美的整合起来其实全部功能试下会出错
= =这个和我看的妙味的视频一样啊……
不懂的多回味思考,总是能学到新的知识
好,非常好
总算知道json在什么情况可以用了
每30ms时,定时器执行一次,循环json(理解成java中的map类,key和value,老师讲的name和key不太适合)的每一个key和value,width最先满足,此时是true,但for循环没有结束,此时会继续height,此时flag=false,这样一步步下去,width和height都是true时,opacity,会继续执行,直到全部到达目标值,flag==true;
照着老师的代码打,发现有个问题,就是flag没有定义在定时器内。因为flag如果定义在定期器外,flag只执行了一遍,当循环了一次后,flag变成了false就不会再改变了。flag一直都是false,就无法关闭定时器和执行下一个函数了。

结论:flag要定义在定期器内(旗子要立好!!)求赞!

定义在定义器内也是可以的,每次循环时开始时flag==true,只要有一个key是不等于目标值,都会重新进入定义器执行。
但我不给你点赞,因为你没有理解flag定义在定时器外的意思。
视屏的效果做的好好啊,看起视频来体验很好。
oDiv.onmouseover=function(){
clearInterval(timer)
timer=setInterval(function(){

if(oDiv.style.offsetLeft==0){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offseetLet+10+'px';
}
},30)

}
老师的编程思想一般,有些地方讲的并不清晰。
讲得很不错,源生JS的写法、浏览器兼容性、函数的封装、动画的基本原理和JQuery都有,非常不错的课程,谢谢!
flag可在定时器外面定义好,在定时器里面的for-in外面进行重置;不应该用else,我用了后,会发现出现bug,执行完后,宽度或者高度跟初始值会不一样;
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消