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

​为什么“宽度200到400,高度100到200,;透明度30到100”的同时运动没问题;而宽度到201 就有问题呢?还没听明白啊?

为什么“宽度200到400,高度100到200,;透明度30到100”的同时运动没问题;而宽度到201  就有问题呢?还没听明白啊?求解答

正在回答

2 回答

我来说说我的理解,不知道是不是完全正确,有不对的地方欢迎大神指出!

导致问题出现的原因:在时间上宽度首先到达了目标值201,而其他两个属性这时还没有,这时代码运行了清除定时器,所以还没到达目标值的两个属性也停止了运动。

if(icur==json[attr]){.......},这个if句式里的条件的意思就是:只要有任意一个属性的值(即:icur)等于目标值(即:json[attr]),那么就会执行{........}里面的清除定时器代码,理解这一点,与如何理解 解决问题时为什么要引入变量var flag有非常大的关系。

解决问题:

  1. 引入变量var flag=true;

  2. if(icur != json[attr]){ flag = false };  //只要有任意一个属性的值不等于目标值,那么定义flag=false;然后继续执行运动代码。

  3. if(flag){..........};  //如果flag=true,即每一个属性的值都等于目标值,那么运行{..........}里面的清除定时器。

引入变量flag就是为了表达出   每一个属性的值都等于目标值   这个意思。

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

syy138 提问者

是的 后面明白了
2016-08-12 回复 有任何疑惑可以回复我~

因为宽度目标值400,还未达到之前,紧接着运行了第二个目标和第三个目标值;是201时,运行时间短促,直接就被清除了定时器即动作停止,还未来得及同时运行下个动作。不知道这样理解是否正确?

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

举报

0/150
提交
取消

​为什么“宽度200到400,高度100到200,;透明度30到100”的同时运动没问题;而宽度到201 就有问题呢?还没听明白啊?

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