1 回答
TA貢獻(xiàn)361條經(jīng)驗(yàn) 獲得超191個(gè)贊
首先明白Bstop的作用,是為了檢測最后所有屬性的值是否達(dá)到目標(biāo)值(即動(dòng)畫是否全部完成),是怎么檢測的呢,分三步
第一步,startMove這個(gè)函數(shù)是通過計(jì)時(shí)器不斷調(diào)用來完成動(dòng)畫效果,那么它每次調(diào)用的時(shí)候Bstop都賦值為true(var Bstop=true)
第二步,if(cur!=json[attr])Bstop=false;是用來判斷當(dāng)前元素的屬性值是否不等于你設(shè)定的目標(biāo)值(即動(dòng)畫是否還有沒完成的),如果不等于,那么Bstop就是false,這里if后面沒有{},說明如果條件成立,只執(zhí)行第一條語句,即Bstop=false;
第三步,最后那里有個(gè)if(Bstop){},相當(dāng)于if(Bstop==true)就停止計(jì)時(shí)器,
現(xiàn)在可以發(fā)現(xiàn),如果第二步有動(dòng)畫沒完成,那么Bstop是false,則第三步不成立,計(jì)時(shí)器不會(huì)停止,然后計(jì)時(shí)器繼續(xù)調(diào)用第一步,Bstop又變成true(第一步),然后繼續(xù)第二步,第三步,直到所有動(dòng)畫完成,到了第三步Bstop還是true,那么就執(zhí)行第三步的停止計(jì)時(shí)器
添加回答
舉報(bào)
