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

JS动画效果

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

已采纳回答 / 静语默言
js中的数字都是用浮点数表示的你可以看一下每次opacity+0.1得到的值<...图片...>你也可以看一下这篇文章https://segmentfault.com/q/1010000000137297了解一下浮点数的运算关于你的问题有两种解法第一种解...

已采纳回答 / 害羞长颈鹿
先清除浏览器默认样式 body{margin:0;padding:0;}  要不然你的oDiv.style.left = oDiv.offsetLeft+1+'px'; 只会是每次加9

已采纳回答 / 秦月殇
1、var timer=null应该声明在function函数外面。若声明在函数内部,每次调用函数时都会在函数内部声明一个timer变量,且每个timer变量都不相同,所以clearImterval(timer)不起作用。与换成onclick没有关系。2、timer=setInterval().

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

已采纳回答 / luofs
onmouseover=startMove;其中startMove本身就是函数,当鼠标经过时执行startMove函数,而onmouserover=function(){startMove()}是函数嵌套函数,当鼠标经过时执行一个函数,这个函数里面再运行startMove函数,这样就显得画蛇添足了。增加代码量,影响代码执行效率。

已采纳回答 / 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)

已采纳回答 / 忐自
建议还是加入Math.round,因为做出来是给不同浏览器用的嘛,你的可以其他人就未必了,以防万一~~~~

已采纳回答 / biuabiuabiu
首先你定义的是函数,你调用了吗?其次你函数只是创建了,没有插入到窗口,最后补上这一句document.body.appendChild(div);就行了 

已采纳回答 / 舒硕
parseInt(oDIv.style.width)这个是将字符串转换为整数 可以进行数学运算的,你直接用的话oDIv.style.width这个只是一个字符串 使用数学运算会出错的用加的话只是字符串的拼接就像"1"+"1"=="11"而1+1==2前者是字符串连接运算,后者是数学运算,你这个(oDIv.style.width-1)+'px';浏览器中应该是报错的,你审查元素看看控制台

已采纳回答 / 残破Q
还有一般老师讲的代码在style的第一行都会加上*{padding:0;margin:0}这行代码的,建议你以后也用上

已采纳回答 / lixp2000
应该将width=200px;height=200px;width=20px;height=20px;改写成width:200px;height:200px;clear(timer);应写成clearInterval(timer)

已采纳回答 / 唐丶唐
写错了哥  window.onload=function(){}  你的括号少了;加上之后 运行没问题  如果再有问题可能就是浏览器了

已采纳回答 / lixp2000
#div1为span的父元素,,当代码中多个div,并且都含有span时;此时你想获取某个span元素时,就需要你指定到具体哪个父元素下的span元素了。

已采纳回答 / 佐佑918
在定时器的前面,清除一下定时器,clearInterval(timer)
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消