课程
/前端开发
/JavaScript
/JS动画效果
flag在setInterval外面定义成true,这个局部一旦变成false 怎么可能再变换成true呢?
2015-12-29
源自:JS动画效果 6-2
正在回答
老师的代码好像有点问题,你要不把flag放setInterval里面,要不就
if(flag){
clearInterval(obj.timer);
if(fn){
fn();
}
}else{
flag=true;
因为flag是全局变量,定时函数内没有定义这个变量,所以每30毫秒执行一次代码都需要重新读取函数外的flag变量,该变量的默认值是true。只有当条件成立时,即其中一个当前值不等于目标值时,才会变成false。变量作用域的知识再去了解一下,就会懂了。
土爷
想让它变为false只能flag=false,!flag只是代表了false
举报
通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装
7 回答老师flag的定义会不会有错,flag变FALSE 就在变不回TRUE了
1 回答if (flag)?v这个是什么意思,不是应该写成if(flag==true)吗?
1 回答flag=true?fn();
12 回答flag = false 是什么时候被重置为true的?
1 回答关于flag=true的问题