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

JS动画效果

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

最赞回答 / hellf
跟css中的{margin:0;padding:0;} 没有关系,你的代码中,判断offsetLeft 的条件改为: if(odiv.offsetLeft>=0)  它就停下来了 ,因为在不断移动的过程中,不一定有0这个值还有一个问题,进入startMove()时, 需要先清除一下定时器,目的是保证同时只有一个定时器在运行,你的代码还给你,就改了两个地方:<!DOCTYPE html><html><head><title>动画</title>...

最新回答 / 慕丝2053625
你好,我也遇到了这个问题。正如老师所讲的那样,一定是有属性在到达自己的位置的时候,立刻触发了清除定时器,导致其他的属性虽然还没有到达target,就被终止了运行。当你再次用鼠标指向的时候,定时器只会被触发一次,for循环一遍,就遇到opacity属性已经变成1,因此目标宽度只被遍历1次,增长1,所以需要移入移出4次,这个情况将会在你把目标宽度修改成201时相当明显。

最新回答 / 慕梦前来
定时器里的变量要控制好,

最新回答 / 慕粉3074769
当使用绝对定位的时候行内元素会呈现块状元素效果。
position: absolute;
<...code...>

最新回答 / qq_彩虹_21
要是缓冲运动就不需要flag

最新回答 / 天桥涂鸦
它是round的(float*100)

最赞回答 / 伴山客
终于想通了,还是flag的问题。大家注意,var flag =true;这句话一定一定要放在for-in外面理解如下:首先for-in虽然使得看起来是同步进行,但实际还是你定义的运动1,运动2,运动3 顺序操作。当放在外面的时候,三个运动是修改一个flag,有一个没满足都是false。而当flag定义放在循环里的时候,每一个运动的每一次操作,都会重置flag为true。模拟一下:假定速度为1.首先第一圈。宽是false,然运动,达到目标。高是false,运动,仍未达到。透明度是false,运动,仍未达到。...

最新回答 / 晖哥hg
can not set property onmouseover of null看错误,应该是未找到元素。尝试把js放在页面最底部再获取div元素。
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消