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

JS动画效果

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

最新回答 / 陈国栋0
if else 语句错了,else后面没加花括号.

已采纳回答 / s_nn
会出现alpha>target的情况 —— 假如当前的值是100,但是你的目标值是30,不就是触发过了onmouseover事件了吗?要执行图形“缩回”了,即从右向左,速度不就是负值了吗?我这样说明白吗?

已采纳回答 / qq_云上_0
var speed=(iTarget-mybox.offsetLeft)/20;这里的速度值表示,当你的目标值大于当前的宽度,speed大于0表示你向右走,要“+“正speed加一个宽度.如果speed小于0,你要向左走,你的宽度需要越来越小,所以speed需要"-"只有向下取整。不知道有没有描述清楚。

已采纳回答 / 飞舞的墨
如果(目标值-当前值)/10  不能整除的话。运动到最后,是1~9之间的数字来除以10,结果是个小于1的小数,如果向下取整,那就是0,speed=0,意味着不再发生变化。也就是说,如果用Math.floor(speed),最后不到10个像素的时候,就不会动了。

已采纳回答 / 飞舞的墨
这两次定义的odiv的作用域都是在各自的函数体内。也就是startMove()是获取不到onload的匿名函数中定义的odiv.如果你想只定义一次,那就将odiv定义成全局变量,这个页面的任何函数都可以直接获取的到。

最新回答 / TOTO晶
var flag=true;  及for(var attr in json) 应该放在定时器n内, json的for循环之前if(flag){清除定时器和fn回调}应该放在定时器n内, json的for循环之后具体解释可以参考<JS动画效果课程 6-2小节>的评论区讨论,希望能帮到你更改后的参考code如下(未贴上来的其他code不变):<...code...>

最新回答 / 慕粉3498277
虽然有点久了,不过最近正好刚弄懂了这个问题,希望能对你有帮助!这里要提到offsetLeft与style.left的一点区别。style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left。(1)确实是只有设置为行间样式的style属性才能被获取(读),但这里我们用到的是style的‘写’,所以不矛盾。(2)你可以试一下,把上面的if(Obj.offsetLeft==0)改为if(Obj.style.left==0),会发现没有任何效果,就是因为这里要用到...

已采纳回答 / 吃瓜神教_03349355
在div1的css里面设置z-index的值,大于0就能覆盖,等于0就是你现在的情况。

已采纳回答 / 飞天意大利面神兽
首先是第34行改成<script type="text/javascript">再就是,第45行,那个magin-left在js不是这么用的,而是magrinLeft.

已采纳回答 / TOTO晶
鼠标移出时,aph是从100一直减小变到30,此时,aph=100大于目标值isp=30,speed为-10,并不是鼠标开始移出时aph就是30

已采纳回答 / cici_0008
animate 是jquery封装好的方法。这里是用原生自己写的

最赞回答 / weibo_慕丝7400593
在startMove函数执行时,启动清除所有的定时器.function startMove(){ clearInterval(timer);...}

最新回答 / 苍白的尾巴
在浏览器里用F12调试之后发现你在 startMove()这个函数处少写了“ } ”。38行后面。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消