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

JS动画效果

vivian Web前端工程师
难度初级
时长 2小时 8分
学习人数
综合评分9.60
537人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
6分45 出错解释:浮点数值的最高精度是17位小数,但在进行算数计算时其精度远远不如整数,这个特性导致无法测试特定的浮点数值。这是使用IEEE754数值的浮点计算的通病,并非只有JS有 其他使用这个754规则的语言也有

已采纳回答 / lawrence_lai
使用setInterval 会返回一个数值来标记这个setInterval而且不是人为规定的数值,用timer来标记这个数值。用clearInterval来清除这个setInterval 不然setInterval会不断以一个间隔来重复触发里面的function,例如不断赋给一个变量一个相同的值。消耗内存。最简单的方面不清除定时器的叠加会让setInterval不断叠加,比如speed是每秒钟1PX移动,你重复触发5次就变成了每秒钟5PX移动,而且无法停止。至于函数为什么没有参数,你可以在回去复习一下JS...

最新回答 / 蛋黄酱0
老师写的是取<a>,我想只取<i>但是好像函数内调用对象不对 求大神指点该怎么修改
使用Math.round()
透明度不能加parseInt,使用parseFloat,px
if(attr = = &#039;opacity&#039;){}
else{}

if(attr==&#039;opacity&#039;){ obj.style.filter=&#039;alpha(opacity:&#039;+(icur+speed)+&#039;)&#039;;
obj.style.opacity = (icur+speed)/100;}
else{obj.style[attr] = icur+speed+&#039;px&#039;;}
oDiv.style.width = parseInt(getStyle(oDiv,&#039;width&#039;))-1+&#039;px&#039;;
获取样式
function getStyle(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return getComputeStyle(obj,false)[attr];
}
}
如果改成&gt;=0,当循环停止时left可能大于0,这样在出发鼠标事件,就会一直执行循环中的clearInterval(timer),就不会产生缩回动画了
box-sizing:border-box;
box-sizing:content;也可以解决
老师讲得很好
请问哪里有这节课的源码啊
把==0 改成&gt;=是不更好呢
如果 速度改为+7的话,==0就不会停止了
老师好棒,忍不住要点赞!!!
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消