高手之路
2016-05-13 11:19
老师是把变量直接放置在了function start(obj,json,fn){ 的下方
而我运行
oLi.onmouseover = function(){
start(oLi,{width:400,height:200,opacity:100},function(){
start(oLi,{opacity:30},function(){
start(oLi,{width:200,height:100})
})
})
}
这段代码的时候,发现透明度没变化
然后我把var flag = true; 放置到了for in 上方 定时器下第一个
就可以正常运行了
但我不太明白是什么原因,可否解释的明白一点
老师写在function start(obj,json,fn)这个函数的局部内不是都应该有效吗
我试过把var flag = true; 放置到for in 上方和放在function start(obj,json,fn)这个函数的局部内都是可行的。
两者的区别是:前者是在setInterval( ,30)内,所以相当于每30ml对flag 赋一次 true;
后者的var flag = true; 相当于是“全局变量”,在setInterval( ,30)内当然可以使用flag,更可以改变flag.
我对着flag判断不等于那块不明白,你明白吗
JS动画效果
113925 学习 · 1443 问题
相似问题