第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

flag的 問(wèn)題!??!求大神解釋

我就納悶了。按代碼所示。flag放在定時(shí)器外面,最開始是true,執(zhí)行第一次動(dòng)畫時(shí),不是所有動(dòng)畫都到達(dá),于是定時(shí)器的flag被設(shè)置為false,然后該干嘛就干嘛,接下來(lái)執(zhí)行30毫秒后的第二次動(dòng)畫,于是乎,問(wèn)題來(lái)了,作為startmove內(nèi)的變量,定時(shí)器外的變量flag,已經(jīng)被上一次的動(dòng)畫設(shè)置為了false,所以,接下來(lái)的判斷語(yǔ)句flag永遠(yuǎn)是false, ?等同于if(flag)這個(gè)是不可能實(shí)現(xiàn)的??!定時(shí)器內(nèi)部也沒(méi)有設(shè)置flag為true的語(yǔ)句,動(dòng)畫講永遠(yuǎn)不停止!!真正的問(wèn)題來(lái)了:屏幕中老師這樣敲的代碼,瀏覽器中居然能實(shí)現(xiàn)動(dòng)畫?。?!求大神解釋!!

正在回答

7 回答

你再看一看。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

葛烏 提問(wèn)者

我自己的理解是,flag要放在定時(shí)器里面,每執(zhí)行一次,都會(huì)重置flag=true。這樣才能運(yùn)行。。放在外面,雖然老師的動(dòng)畫看起來(lái)能夠執(zhí)行。但是定時(shí)器永遠(yuǎn)是開著的,只是speed到后期為0,看起來(lái)就想是動(dòng)畫停止了一樣··反復(fù)想應(yīng)該是這樣解釋
2016-04-21 回復(fù) 有任何疑惑可以回復(fù)我~
#2

風(fēng)_起 回復(fù) 葛烏 提問(wèn)者

一個(gè)定時(shí)器改變多個(gè)屬性,你可以看下我在你這條上面的方法(多個(gè)定時(shí)器改變對(duì)應(yīng)的屬性)。所以flag=true應(yīng)該放在這唯一一個(gè)定時(shí)器中初始。還有,清除定時(shí)器,if(flag)你放在哪里?
2016-04-21 回復(fù) 有任何疑惑可以回復(fù)我~
#3

哈嘍姑娘 回復(fù) 葛烏 提問(wèn)者

你是對(duì)的,若用老師的方法,定時(shí)器都沒(méi)關(guān)過(guò),只是后面達(dá)到目標(biāo)值后,speed等于0了,這樣是無(wú)法再用回調(diào)函數(shù)完成鏈?zhǔn)竭\(yùn)動(dòng)的。要將flag放在定時(shí)器里面。
2016-04-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

葛烏 提問(wèn)者 回復(fù) 哈嘍姑娘

恩謝謝你的回復(fù)
2016-04-30 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

NeoWu222同學(xué)的方法,我試了,發(fā)現(xiàn)好像flag一直是處于為1,并沒(méi)有加到3,也就是定時(shí)器還一直是開著的

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_過(guò)去_3

是我自己看錯(cuò)。。。
2016-05-10 回復(fù) 有任何疑惑可以回復(fù)我~

我覺(jué)得不要加flag也可以吧,定時(shí)器一直開著應(yīng)該沒(méi)關(guān)系吧,所有的運(yùn)動(dòng)也能同時(shí)實(shí)現(xiàn)(個(gè)人想法,不知道行不行)

0 回復(fù) 有任何疑惑可以回復(fù)我~

這個(gè)問(wèn)題和回答給力!給你們點(diǎn)個(gè)贊!

0 回復(fù) 有任何疑惑可以回復(fù)我~

不好意思json沒(méi)有獲取長(zhǎng)度的屬性或方法,所以要自己定義一個(gè)方法來(lái)獲取

把最后一個(gè)if(flag == json.length)改為if(flag == getLength(json))

方法定義代碼:

function getLength(json){

? ? var length = 0;

? ? for(var attr in json){

? ? ? ? length++;

? ? }

? ? return length;

}


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

葛烏 提問(wèn)者

GET,感覺(jué)你這種計(jì)算flag的思路比視頻里的更令人清晰!
2016-04-23 回復(fù) 有任何疑惑可以回復(fù)我~
#2

lzlbu2

太感謝了,看了這么多的回答,只有你的這個(gè)方法最好用,還解決了老師的bug
2016-05-14 回復(fù) 有任何疑惑可以回復(fù)我~

把flag初始為0;當(dāng)有一個(gè)屬性達(dá)到目標(biāo)值時(shí),flag自增1;當(dāng)flag 等于 json的長(zhǎng)度時(shí)再清楚定時(shí)器;

代碼如下:

function startMove(obj,json,fn){

? ? clearInterval(obj.timer);

? ? obj.timer = setInterval(function(){

? ? ? ? var flag = 0;

? ? ? ? for(var attr in json){

? ? ? ? ? ? //1.取當(dāng)前值

? ? ? ? ? ? var icur = 0;

? ? ? ? ? ? if(attr == 'opacity'){

? ? ? ? ? ? ? ? icur = Math.round(parseFloat(getStyle(obj,attr))*100);

? ? ? ? ? ? //是不是不需要parseFloat

? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? icur = parseInt(getStyle(obj,attr));

? ? ? ? ? ? }


? ? ? ? ? ? //2.算速度

? ? ? ? ? ? var speed = (json[attr] - icur)/8;

? ? ? ? ? ? speed = speed>0?Math.ceil(speed):Math.floor(speed);


? ? ? ? ? ? //3.檢測(cè)停止

? ? ? ? ? ? if(icur == json[attr]){

? ? ? ? ? ? ? ? flag++;

? ? ? ? ? ? }

? ? ? ? ? ? if(attr == 'opacity'){

? ? ? ? ? ? ? ? obj.style.filter = 'alpha(opacity:' + (icur + speed) + ')';//針對(duì)IE

? ? ? ? ? ? ? ? obj.style.opacity = ?(icur + speed)/100;

? ? ? ? ? ? ? ? //針對(duì)chrome、FF

? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? obj.style[attr] = icur + speed + 'px';?

? ? ? ? ? ? }

? ? ? ? ? ??

? ? ? ? ? ? if(flag == json.length){

? ? ? ? ? ? ? ? ? ? clearInterval(obj.timer);

? ? ? ? ? ? ? ? ? ? if(fn){

? ? ? ? ? ? ? ? ? ? ? ? fn();

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? };?

? ? },20)

? ??

}


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_過(guò)去_3

這樣可以嗎?我試了,flag好像一直都是為1,就往加到3的時(shí)候?
2016-05-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

protry

flag需要做全局變量吧
2016-05-17 回復(fù) 有任何疑惑可以回復(fù)我~
#3

jinleli 回復(fù) protry

寫在定時(shí)器里面是一樣的雖然每次flag都會(huì)初始為0,但是只要本次定時(shí)執(zhí)行時(shí)for循環(huán)每個(gè)屬性都等于目標(biāo)值,flag就會(huì)變?yōu)?定時(shí)就取消了
2016-05-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

jinleli 回復(fù) protry

另外放在全局變量只要定時(shí)器執(zhí)行一次for執(zhí)行一次,每次定時(shí)執(zhí)行都有一個(gè)屬性滿足目標(biāo)值,那么很快flag就等于3了。所以要放在定時(shí)器里面,把上次定時(shí)得到的清0重新計(jì)數(shù)
2016-05-29 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

你試一下不就知道老師寫的代碼是對(duì)是錯(cuò)了。加個(gè)fn,做鏈?zhǔn)竭\(yùn)動(dòng)??存?zhǔn)竭\(yùn)動(dòng)有木有?我個(gè)人估計(jì)應(yīng)該是沒(méi)有。flag設(shè)置成false之后,就再也沒(méi)有變回true了。。。老師代碼是有bug

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JS動(dòng)畫效果
  • 參與學(xué)習(xí)       113920    人
  • 解答問(wèn)題       1487    個(gè)

通過(guò)本課程JS動(dòng)畫的學(xué)習(xí),從簡(jiǎn)單動(dòng)畫開始,逐步深入各種動(dòng)畫框架封裝

進(jìn)入課程

flag的 問(wèn)題!??!求大神解釋

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)