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

我认为最终的fn不会执行。

json处理后的运动框架并不兼容链式运动,主要是这段代码不会执行:if (flag) 

{

clearInterval(obj.timer);

if(fn){

fn();

}

}

flag被置为false之后就没有为true的机会了。

正在回答

4 回答

if(icur!=json[attr]){

flag=false;

}else{

flag=true;

}

改成这样就好了。。。

0 回复 有任何疑惑可以回复我~
#1

狸木南

if(flag){ clearInterval(obj.timer); if(fn){ fn(); } }else{ flag=true; } 刚刚回的是错的,这个试试
2016-02-09 回复 有任何疑惑可以回复我~
#2

qq_请叫我小强_0 回复 狸木南

你这个还是不是没得卵用
2016-04-04 回复 有任何疑惑可以回复我~

因为flag是全局变量,定时函数内没有定义这个变量,所以每30毫秒执行一次代码都需要重新读取函数外的flag变量,该变量的默认值是true。只有当条件成立时,即其中一个当前值不等于目标值时,才会变成false。变量作用域的知识再去了解一下,就会懂了。

0 回复 有任何疑惑可以回复我~
#1

土爷

我理解错了,不好意思。默认值已经改变了,所以还是要在判断语句中加上 else{flag=true;} 因为只要等于当前值等于目标值,speed等于零,就算不关闭定时器,属性值也不会有变化,但是会影响链式运动不执行!
2016-01-09 回复 有任何疑惑可以回复我~

在条件达到时候再将其设置成true 不就可以了吗?  把其它代码再贴出来或者说一下基本要完成的功能看看》。。

0 回复 有任何疑惑可以回复我~

给一下完整代码看看

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我认为最终的fn不会执行。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信