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

JS动画效果

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

已采纳回答 / qq_yEs先生_53591812
用来判断的 speed=speed>0? 语句1:语句2;  如果speed判断为true则执行语句1,反之执行语句2

最新回答 / 湛瞳
speed=speed>0?Math.ceil(speed):Math.floor(speed)是一个三目运算符,一般形式为:表达式1? 表达式2: 表达式3 其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。 你的没有输出啊,可以改为if(speed>0){speed=Math.ceil(speed);}else{speed=Math.floor(speed);}至于iTarget是函数的第二个参数,你在调用startMove...

最新回答 / Hei_a
把回调函数写在遍历循环外面就好了

已采纳回答 / 桐谷还灬和人
因为没有具体代码没法具体判断:可能性有一下几个。------1.stopMove的 if  判断范围没写对。致使滑块"滑过了"。2.stopMove定时器没有清除。导致鼠标触发”滑回效果“,然而没有清除定时器clearInterval,导致计时器一直计时下去。在我们眼里看来就是”滑出去了“。

最新回答 / Raymond_HL
框架定时器没清除吧

已采纳回答 / 北葵
因为speed/10,小于1了,就会停止了。 200-190=10,所以会停在190.5。大概是这么 回事 。

已采纳回答 / 不再使用
speed=speed>0?Math.ceil(speed):Math.floor(speed);速度大于0就往上取整(用于显示出来)速度小于0就往下取整(用于缩回隐藏)等到最后速度(绝对值)小于1px/30ms的时候不至于被浏览器忽视(小数不承认)你这个情况是不是没有写这一句判定 

最新回答 / 我要成为前端大姐大
因为当三个iCur==json[attr],flag==false,之后一次执行定时器时,会将flag变为true,则变成true状态,for遍历中的结果并不会被执行,等于空运行一次for遍历后,true被带到if(flag){if(fn){fn()}},中执行关闭定时器和fn(),如果吧if(flag){...}放在for遍历中,最后fn()会被执行三次,for遍历的特性

最新回答 / qq_烟雨童话_0
parseFloat将字符串转换成数字(浮点型),Math.round将数字取整

已采纳回答 / 小菜鸟飞
我觉得,因为他根本到不了0,,你的left是-468,一次加10,等到了-8的时候在加10,就是2,也不是0,就继续循环了,,你把left改成-460试试 ,应该就可以了

已采纳回答 / 穿皮夹克的大熊
offsetLeft 为数值  不该+pxfunction leave(){            clearInterval(timer);        timer = setInterval(function(){                var c = document.getElementById('yu');        if(c.offsetLeft <= -480){            clearInterval(timer);        }        else{...

已采纳回答 / YuuyaRin
因为之前定时器的循环里,因为最后结果都是差零点几,结果最后导致多执行一次来满足target,然后最后运动的距离就超出了,负的向下取整,正的向上取就是为了弥补上除法除出来差的那零点几,然后就不会多执行那一次循环,就避免了超出和未运动到的情况

最新回答 / Gady啊
obj.style.width 只能获取行内的样式,封装的getStyle函数可以获取任意地方的样式

最新回答 / Rimas
你把onmouseover改成onmouseenteronmouseover:只要鼠标移动就会触发,因此会重复触发
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消