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

JS动画效果

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

最新回答 / 风中过客
找了我半个小时。。你的flag 放到定时器里面。不然等到 if(json[attr]!=icur){        flag=false;      }你的flag还是为false的时候, 你的flag 因为之前是false, 所以一直都是falsefunction startMove(obj,json,fn){   clearInterval(obj.timer);  obj.timer=setInterval(function(){  var flag=true;    for(var attr in...
提供源码吧
我怎么感觉无需标杆,只需要在鼠标移出移入时候清掉定时器就好了,定义在定时器里面的标杆,经测试还是导致不能都达到目标值时清掉定时器。
对不对啊,,OK,,OK,,,OK,,,Ok,,,
链式动画就是加一个回调函数
if(attr=='opacity'){
obj.style.filter='alpha(opacity:'+(icur+speed)+')';

obj.style[attr]= (icur+speed)/100;} // 也可以这么写

else{obj.style[attr] = icur+speed+'px';}
老师讲的很好。
把判断值改成取绝对值就可以解决溢出的BUG
if (Math.abs(div1.offsetLeft-ofle)>200){
clearInterval(timer);
}else{
div1.style.left=div1.offsetLeft+speem+'px';

}
讲的什么,一点都没有听懂
当移入还未到达目标值移出时,这时候移入的定时器未被关闭,此时会影响到移出,等移出到达目标点时,还会继续向左移动。
这里用box-sizing:border-box似乎也可以
starMove()函数内部不用再次获取oDiv了!老师对作用域没概念吗!
但是 事实就是用css来实现透明效果更为方便,当然js实现也是需要学习的。

已采纳回答 / 紫菜中毒
2-1这节的运动是做匀速运动的,而且参数简化到剩下一个。 if(div.offsetLeft>目标值200){    speed=-10; //速度是10刚好会到0,如果速度是-8  是不是到最后还有一个余数 -4px//oDiv.style.left = oDiv.offsetLeft + speed + 'px'; 是不是 left就会有稍微有偏移量  ;反之亦然,所以会一直抖动。定时器是30ms启动一次,课程里面 已经是 left就是都到节点值 他就一直维持不动了。 比如你现在宽度 设置成 你...
Vivian请把你的头像放正,每次我都歪着脖子看。
下面的时间进度条一直往出弹,我可真烦
课程须知
1.您至少已经具备JavaSript的知识。2.您已经具备一些开发经验。
老师告诉你能学到什么?
1.使用定时器实现简单动画。2.如何一步步封装库。2.培养编程的思想。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消