Bstop有关代码里面这个的应用不太懂,if(cur!=json[attr]) Bstop=false
div {
width: 200px;
height: 200px;
background: red;
filter: alpha(opacity: 30);
opacity: 0.3;
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
首先明白Bstop的作用,是为了检测最后所有属性的值是否达到目标值(即动画是否全部完成),是怎么检测的呢,分三步
第一步,startMove这个函数是通过计时器不断调用来完成动画效果,那么它每次调用的时候Bstop都赋值为true(var Bstop=true)
第二步,if(cur!=json[attr])Bstop=false;是用来判断当前元素的属性值是否不等于你设定的目标值(即动画是否还有没完成的),如果不等于,那么Bstop就是false,这里if后面没有{},说明如果条件成立,只执行第一条语句,即Bstop=false;
第三步,最后那里有个if(Bstop){},相当于if(Bstop==true)就停止计时器,
现在可以发现,如果第二步有动画没完成,那么Bstop是false,则第三步不成立,计时器不会停止,然后计时器继续调用第一步,Bstop又变成true(第一步),然后继续第二步,第三步,直到所有动画完成,到了第三步Bstop还是true,那么就执行第三步的停止计时器 |
|
|
|
|