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

JS动画效果

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

最新回答 / 我要成为前端大姐大
因为当三个iCur==json[attr],flag==false,之后一次执行定时器时,会将flag变为true,则变成true状态,for遍历中的结果并不会被执行,等于空运行一次for遍历后,true被带到if(flag){if(fn){fn()}},中执行关闭定时器和fn(),如果吧if(flag){...}放在for遍历中,最后fn()会被执行三次,for遍历的特性
又实验了下,最好css里写上 body{margin:0},不然有的浏览器会坑
还是写成oDiv.offsetLeft>=0 好点
万一你做练习时没想起div的盒子宽度是要算border的 一时兴起加个border:1px solid red;之类的css  这样盒子宽度是202 每次移动10 结果10次后才移到200,11次移到210了,210-202肯定不等于0了 这样盒子就奔跑不停了 …………
老师讲了好多运动,真想运动运动~~捂脸跑~~
学完这趟课程,再来看现在的Jquery理解就容易多了, 也间接的知道Jquery是如何实现的,知道这么写的道理是为什么, 有了这样的思维,用起来也就不疑惑了,看来理解JS原生代码,对JS编程有很大的帮助, 这是自己的一点点小小感悟吧
最后的 if (flag) { clearInterval(obj.timer); },这段代码我觉得应该放在里面,当width, height,opacity都到达了目标值后,speed等于0, 就不会在加,width,height,opacity的值也不会改变,如果 if(flag)代码在for中,那么立即就会停止,如果在for外面的话,要for遍历完以后才清除interval,当然这里其实问题不大,最多会多执行几次代码,结果也不会改变.乳沟要做到代码优化的话,放在里面要更好一些.
美女老师,jion是这样的jion={"att1":"itarget1","attr2":"itarget2"};您那个是对象是有区别的。

最新回答 / qq_烟雨童话_0
parseFloat将字符串转换成数字(浮点型),Math.round将数字取整
老师讲的很好, 这个动画是基础慢慢的动画变的强壮,可扩展, 受益匪浅

已采纳回答 / 小菜鸟飞
我觉得,因为他根本到不了0,,你的left是-468,一次加10,等到了-8的时候在加10,就是2,也不是0,就继续循环了,,你把left改成-460试试 ,应该就可以了
这里也可以不用定义 obj.alpha=30, 其实可以在startChange()函数中写 var opacity = obj.style.opacity * 10; 这段代码, 每个div都有属于自己的opacity, 这样就没有共用同一opacity. 共用同一个opacity 就和共用同一个 timer一样的, 共用就会强着用. 就像吃饭,大家共用同一只碗, 你要,我也要用, 就只能开打了. 通过这里可以查看, 当共用同一个属性的时候,有没有什么副作用.
http://www.cnblogs.com/aixiao044/p/5792067.html 欢迎参观没有最后京东的实例代码
听着挺详细的,不过自己还是觉得能动手最好,越听越困,加油
既然学着js就不要老说css实现了
css是一个看似简单其实 有好多可以深究的 但是这里再讲js啊 老说什么css 其实是你懒…………

已采纳回答 / 穿皮夹克的大熊
offsetLeft 为数值  不该+pxfunction leave(){            clearInterval(timer);        timer = setInterval(function(){                var c = document.getElementById('yu');        if(c.offsetLeft <= -480){            clearInterval(timer);        }        else{...

已采纳回答 / YuuyaRin
因为之前定时器的循环里,因为最后结果都是差零点几,结果最后导致多执行一次来满足target,然后最后运动的距离就超出了,负的向下取整,正的向上取就是为了弥补上除法除出来差的那零点几,然后就不会多执行那一次循环,就避免了超出和未运动到的情况
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消