根据同学们的评论和老师的代码,修改了下,但还是有BUG,跪求大神解答

来源:6-2 完美运动框架

风飘叶摇

2017-09-06 01:59

根据同学们的解答,把flag=true设置在定时器中,然后for……in设置在for循环之外,确实解决了两个bug:

  1. 回调函数fn()无法执行的问题;

  2. 有多个运动值的时候,第一个运动已经达到目标,第二个运动还没达到目标就清除了计时器的问题;

但是~~~~~~~~~~~~~~~我是神转折~~~~~~~~~~

 在json对象中,设置第一个运动的目标比第二个运动的目标大的时候,第二个运动的目标会首先到达,但是第一个运动还没到达目标,这个时候耶清除计时器了!

startMove(that,{'width':400,'height':150},function(){

startMove(that,{'opacity':100});

}); 

height到达目标之后,width还没到达目标就清除计时器了,我看了好久,没人说到这个BUG,求大神有没有人解决了这个问题,思路如何?谢谢了。

http://static.mukewang.com/img/59aee5de0001384711520548.jpg

http://static.mukewang.com/img/59aee5df0001dc0911310604.jpg


写回答 关注

1回答

  • qq_活在当下_30
    2017-09-12 21:25:25

    http://img.mukewang.com/59b7dffb0001161c11620628.jpg

    仔细检查检查

    风飘叶摇

    谢谢您的仔细检查,我还真没发现第一个错误,谢谢您。不过第一个错误不影响我测试的结果。因为那是个针对IE的属性,IE我现在都不用了的,我用的是360浏览器测试的,内核是谷歌的内核。 第二个您指出的变量我其实是直接定义在了 if(wid!=json[attr]){ //如果,不是所有的运动都到达了终点 var flag=false; }else{ var flag=true; } 这个判断中,这样测试起来也没有什么问题,不知道这样是不是会有问题,实际测试没报错呢

    2017-09-13 01:42:57

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题