python flag false_flag = false 是什么时候被重置为true的?

经过多番测试,视频中的完美运动代码存在bug,这个框架只可以实现同步动画,不可以实现链式动画。

同步动画最后会停止,不是因为if(flag){

clearInterval(obj.timer);

if(fn){

fn();

}

}

而是代码中的speed = (json[attr] - icur)/8;

这一部分等于0了,也就是说,动画不再变化了,看起来就好像清除了定时器一样。

如果在清除定时器的判定语句中加入一个测试语句,可以发现,第一次鼠标移入目标的时候,第一次执行到这个动画,是不会执行到测试的语句的,说明定时器的判定语句并未执行。if(flag){

alert(12345678978979); //注意这部分,第一次执行动画的时候,是不会执行到这里的。因为flag一直是false

clearInterval(obj.timer);

if(fn){

fn();

}

}

如果没有onmouseout的动画,那么,第二次鼠标移进去的时候,在执行动画之前,都满足json[attr]=icur;

也就是说speed在第二次执行动画的时候,一直是0,那么这个时候,下面这个判定就没有执行了if(icur != json[attr]){

flag = false;

}

于是flag就是第二次执行动画的初始值,也就是:var flag = true;

自然而然的,后面的这部分代码就能够执行了。if(flag){

alert(12345678978979);//第二次执行onmouseover动画,就会执行到这里了

clearInterval(obj.timer);

if(fn){

fn();

}

}

上面讲得比较啰嗦,不知道大家有没有看懂,没看懂的可以照着一步一步去尝试一下,会得到我说的这个结果的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值