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

JS动画效果

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

最赞回答 / qq_蓝婷儿_0
function getStyle(obj,attr){    if(obj.currentStyle){        return obj.currentStyle[attr];    }else{        return getComputedStyle(obj,false)[attr];    }}

最新回答 / 没听说过
同学,我也遇到这个问题,视频07:03秒的时候老师的#div1{ position:relative}竟然可以运行成功,而我的就只能改成absolute才能成功,问题到底出在哪里呢?

最新回答 / PdpdPdpd
"<script></script>" 外面多包了一个“<style></style>”,去掉就好了

最赞回答 / wy_dxl
第一个函数相当于通知它去改变宽度,通知完之后,不管完成没完成,都继续执行第二个函数了,而第二个函数里面也有clearInterval();就把前一个未执行完的动画清除了,相当于覆盖了。(改变宽度可能要300ms,而通知可能就要1ms,第二个函数通知的时候也就1ms,很快,就相当于覆盖了),不知道我说明白了吗

最赞回答 / 撞门人
不该在遍历内添加flag = true;的,假设有两个CSS属性,第一个icur != json[i]  这时flag =false,但是到第二个属性时如果icur == json[i],此时flag = true,将第一个false覆盖。所以不能达到想要的效果

最新回答 / Metotaste
解决方案:需要把下面两行代码移动到timer=setInterval()这个方法里的函数的函数体里。 var oDiv = document.getElementById('div1'); var div_width = parseInt(getStyle(oDiv,'width'));最终有效的代码是这样的:<...code...>

最新回答 / 梦幻大使
offsetWidth的宽度包括了width和border

最赞回答 / qq_发条橙子_0
box2.onmouseover=omove; 执行这条语句的意思是box2的鼠标事件指向一个叫omove名字的function;box2.onmouseover=omove(0);执行这条语句的意思是box2指向的是omove运行的结果,而结果自然要运行出来才知道,omove函数就直接被调用了。于是不等鼠标over分享框就自己动起来了。但是omove又要接收参数,所以就把omove放在一个function里面。

最新回答 / Neil丶
如果attr你给他heigth值,那每次获取到的是当前height值,意思就是每次获取得到的icur是不一样的,然后speed=(iTarget-icur)/8得到的速度就不时匀速的。我是这样理解的!
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消