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

JS动画效果

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

已采纳回答 / 樱花飞落ll
把你其他的代码也发上来,可能不是clearInterval(timer)这句的问题,看一下你的计算速度的代码是写在setInterval里面的不

最新回答 / 樱花飞落ll
你取宽度的时候肯定用的是offsetWidth,它等于宽度+边框的宽度,firefox要用getComputedStyle(obj,null)[attr]

最新回答 / qq_小天狼星_0
这是因为JS浮点数运算不精准的问题,不精准的原因是JS采用的是二进制表示法,当进行浮点数运算时,会先把十进制的小数换算为二进制,再用二进制进行计算,最终结果转换为十进制,而部分小数是不能准确换算为二进制的。例如把 0.1 和 0.2 转换成二进制:0.1 => 0.0001 1001 1001 1001…(无限循环)                                                   0.2 => 0.0011 0011 0011 0011…(无限循环)双精度浮...

最赞回答 / Lionis
<...code...><...code...>

最新回答 / CrazyJeff
不需要 鼠标移出,只要函数执行完毕,就会执行回调函数,鼠标不需要再移动了。可以自行测试

已采纳回答 / qq_ChinraunXu_0
(1)var oDiv=document.getElementById("div1");把这句放在startMove函数里面;(2) oDiv.opacity=alpha/100;这一句写少了style

最新回答 / qq_coo_1
if 。。。else 条件判断,如果条件成立,执行if后边的语句,如果不成立,执行else后边的语句当移动到指定位置时条件成立停止定时器,即if后边的语句,没有到指定位置时则继续移动,即else后边的语句

最新回答 / 昨天de梦
 var speed = (jason[this] - icur) / 8;  // 你介一句写错了吧~~//调用时,也应该类似 ——> startMove(oLi, {'width':400, 'height':200, 'opacity': 100});

最新回答 / xp224848
原来定时器那儿少写了一个obj.

+ 我来回答 回答最高可+2积分

最新回答 / _孤单的伞
单物体运动定时器只要定义一个,写在全局即可。多物体运动需要给每个物体定义一个定时器,timer需要定义在函数内部,为每一个变量都设置timer属性。

已采纳回答 / qq_Lollipop_1
getElementsByTagName得到的就是一个数组,可以直接遍历使用吖,如果div很多,你最好通过id或者class来获取

最新回答 / 心很空_天很蓝
从你以上的代码来看,timer=setInterval(function(){   if(oDiv.offsetLeft<-200)                                    //如果oDiv的left<200   {clearInterval(timer);}                                        //清除定时器timer   else{   oDiv.style.left=oDiv.offsetLeft-1+'px';  ...

最新回答 / 林夕丶
继续往后看,有讲到。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消