課程
/前端開發(fā)
/JavaScript
/JS動畫效果
我在納悶 flag根本沒有變?yōu)閠ure,怎么會停止的定時器呢? 怎么回事?我看了好多遍 都沒看明白呢 ?在哪提問啊 ?我找不到呢?
2017-03-09
源自:JS動畫效果 6-2
正在回答
是不是版本的問題?呵呵,用后期的軟件AE做的。
如果把flag放在計(jì)時器內(nèi)的話 把width 和height的參數(shù)調(diào)換一下就清楚看到效果了,一開始把width設(shè)為500,然后你把height設(shè)為201試試, 這時候按F12看看應(yīng)該是沒有問題的,但是你把width設(shè)為201,height設(shè)為500在運(yùn)行調(diào)試,出問題了。
樓上不對吧,flag怎么能放在計(jì)時器里,如果放在計(jì)時器里跟沒有定義flag這個參數(shù)是一樣的,同樣會出現(xiàn)bug
flag=true應(yīng)該定義在setInterval里面,
思路是這樣的:
1.每次復(fù)用都將flag設(shè)為true,
2.如果有未達(dá)到目標(biāo)的這時將flag覆蓋為false;
3.在結(jié)束前判斷flag為true 則清除
雖然width到達(dá)了目標(biāo),但是opacity未達(dá)到目標(biāo) flag 被覆蓋為 false,不能進(jìn)入clearInterval的判斷
只有當(dāng)所有的目標(biāo)達(dá)到時,if(icurr != json[attr])的判斷無法進(jìn)入 flag 不能被設(shè)置為false,這時候flag為開始定義的true,隨后clearInterval將被執(zhí)行;
function Move(obj,json,fn){
????clearInterval(obj.timer)
????obj.timer = setInterval(function(){
????????var flag = true;//放在這里
????????for(var arr in json){
舉報(bào)
通過本課程JS動畫的學(xué)習(xí),從簡單動畫開始,逐步深入各種動畫框架封裝
2 回答flag怎么賦值
12 回答flag = false 是什么時候被重置為true的?
1 回答關(guān)于obj.timer被賦值的問題
1 回答為什么timer 一定要賦值為 null ?
3 回答flag值的改變?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2022-03-26
是不是版本的問題?呵呵,用后期的軟件AE做的。
2017-03-26
如果把flag放在計(jì)時器內(nèi)的話 把width 和height的參數(shù)調(diào)換一下就清楚看到效果了,一開始把width設(shè)為500,然后你把height設(shè)為201試試, 這時候按F12看看應(yīng)該是沒有問題的,但是你把width設(shè)為201,height設(shè)為500在運(yùn)行調(diào)試,出問題了。
2017-03-26
樓上不對吧,flag怎么能放在計(jì)時器里,如果放在計(jì)時器里跟沒有定義flag這個參數(shù)是一樣的,同樣會出現(xiàn)bug
2017-03-12
flag=true應(yīng)該定義在setInterval里面,
思路是這樣的:
1.每次復(fù)用都將flag設(shè)為true,
2.如果有未達(dá)到目標(biāo)的這時將flag覆蓋為false;
3.在結(jié)束前判斷flag為true 則清除
雖然width到達(dá)了目標(biāo),但是opacity未達(dá)到目標(biāo) flag 被覆蓋為 false,不能進(jìn)入clearInterval的判斷
只有當(dāng)所有的目標(biāo)達(dá)到時,if(icurr != json[attr])的判斷無法進(jìn)入 flag 不能被設(shè)置為false,這時候flag為開始定義的true,隨后clearInterval將被執(zhí)行;
function Move(obj,json,fn){
????clearInterval(obj.timer)
????obj.timer = setInterval(function(){
????????var flag = true;//放在這里
????????for(var arr in json){