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

JS动画效果

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

最赞回答 / 萧雁翎
offsetLeft属性是只读的,直接赋值没用

已采纳回答 / 火星上的鱼
首先,是clearInterval(timer)不是(time)。其次,你的Div默认left值就是0,startMove引入的目标变量也是0,鼠标移入时自然不会出现动画,修改一下变量值。当然,最重要的是你的div没有设置定位属性。

已采纳回答 / luofs
onmouseover=startMove;其中startMove本身就是函数,当鼠标经过时执行startMove函数,而onmouserover=function(){startMove()}是函数嵌套函数,当鼠标经过时执行一个函数,这个函数里面再运行startMove函数,这样就显得画蛇添足了。增加代码量,影响代码执行效率。
带口音的普通话也真是够了
我觉得两个参数是不错的选择,没必要为了封装的精简,少一个参数多一个if判断。。。

最赞回答 / 盛夏孤星
不是还有opacity:0.3呢
这节课真好!
这里多物体运动需要注意一下不能直接用this,不然第二个会失败,function(){}里面的function(){}中this的指向的不是box[i]了,所以要在第一个function里面加一个var g=this;
学习js动画感觉真开心

已采纳回答 / Sun___
首先   将for循环中的“ var timer = null,”删除。因为(1)  timer在使用 “box[i].timer=null;”之后,timer变成了自定义属性,不是变量,不要用var定义。(2) 语句结束用" ; "结尾。 其次  将函数function boxChang(obj,iTarget)中的每一个timer 、opacity前面加上“ obj. ”, 但是“obj.style.filter = 'alpha(opacity'+opacity+')';”中只需在最后一个"opac...

已采纳回答 / lemonTree123
 if(speed>iTarget){                    speed= -10;                }else{                    speed= 10;                }应该是if(opacity>iTarget)
这节课看了一分钟 让我想起了animate
你么都用的什么浏览器 我电脑上只有ie11能运行getStyle 火狐和chrome都不行
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消