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

JS动画效果

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

已采纳回答 / 从此浪迹天涯了无牵挂
你获取对象名为oDiv 对象名加上.style意思是是获取某个属性,但这里的.style只能够获取行内对象,也就是在html里面写的样式。head里面的获取不到。因为你写了<div id="div1" style="width:200px;">所以oDiv.style.width一开始获取到的是200pxoDiv.style.width一开始是等于200px的parseInt(oDiv.style.width)-1+'px'这部分呢,这里注意,oDiv.style.width。这里获取的是一个...

已采纳回答 / 从此浪迹天涯了无牵挂
父元素相对定位,子元素绝对定位,这时候,子元素就不再是相对于浏览器窗口了。而是相对于父元素窗口左上偏移

最新回答 / 沐风Felix
可以加判断,如果剩下的px小于30px的话,就只移动剩下的值

已采纳回答 / 追风的少年丶
这个计时器会一直执行,只有clearInterval()才能结束周期执行,所以它是有时间间隔的多次循环,当alpha==iTarget的时候,会执行clearInterval(),这个循环也就结束了

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

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

已采纳回答 / code16
把  var iCur=parseInt(getStyle(obj,attr));   放在for循环里试试 你的attr是在for循环里定义的

最新回答 / rain_late
function startMove(obj,json,fn){    var flag = true;    clearInterval(obj.timer);    obj.timer = setInterval(function(){        for(var attr in json){            //取当前值;            var iCur = 0;            if (attr=="opacity"){                iCur = Math....

最赞回答 / 邪君灬无情
因为px是没有小数的,-190.5浏览器会默认为-190,把小数省略掉,这是speed等于-200-(-190)/20为-0.5,然后又算出oDiv.style.left=-190+(-0.5)=-190.5,然后浏览器又会省略掉小数,使当前值为-190,然后又计算出speed为-0.5,陷入一个死循环,无法继续执行下去。

已采纳回答 / 慕妹5044199
你把startMove拿出来看看是怎么样的。应该是把之前的定时器给清除了

已采纳回答 / qq__2587
你的timer = setInterval里面的单词 function 打错了朋友 敲代码的时候 注意啊!!
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消