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

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

我已經(jīng)蹦了啊,要么不能實(shí)現(xiàn)同時(shí)運(yùn)動(dòng)到目標(biāo)值,要么不能實(shí)現(xiàn)鏈?zhǔn)竭\(yùn)動(dòng),已經(jīng)試了將判斷句放到各種位置,還是不能完美解決,哎!

我已經(jīng)蹦了啊,要么不能實(shí)現(xiàn)同時(shí)運(yùn)動(dòng)到目標(biāo)值,要么不能實(shí)現(xiàn)鏈?zhǔn)竭\(yùn)動(dòng),已經(jīng)試了將判斷句放到各種位置,還是不能完美解決,哎!

正在回答

3 回答

將“var flag=true;”放入定時(shí)器內(nèi)部,for in 循環(huán)的外部,解決定時(shí)器不能停止的問題。部分代碼:

obj.timer=setInterval(function?(){//定時(shí)器????????????
????????var?flag?=?true;//放在這里
????????????for(var?attr?in?json)//for?in?循環(huán)
????????????{
????????????//for?in??內(nèi)部
????????????}

具體解釋就是:第一次進(jìn)入定時(shí)器,flag被定義,賦值為true,接著進(jìn)入for in循環(huán),for in中會(huì)判斷各個(gè)屬性是否達(dá)成目的,只要有一項(xiàng)未達(dá)成,將flag置為false,此時(shí)flag=false;跳出 for in循環(huán)后,判斷,flag是否為true,部分代碼:

????????????if(flag)//判斷
????????????{
????????????????clearInterval(obj.timer);//清空定時(shí)器

因?yàn)閒lag=false,所以if(flag)不成立,不清空定時(shí)器;燃火

第二次進(jìn)入定時(shí)器,定時(shí)器內(nèi)第一行,flag被置為true,接著進(jìn)入for in循環(huán),for in中繼續(xù)判斷,若有一項(xiàng)未達(dá)成,flag又被置為false;跳出for in循環(huán)后,判斷是否清楚定時(shí)器;。。。。第三次進(jìn)入、第四次進(jìn)入,如此反復(fù),當(dāng)for in中全部達(dá)成時(shí),flag不會(huì)被置為false,此時(shí)flag=true;跳出 for in循環(huán),判斷if(flag)成立,清除定時(shí)器,over。

鏈?zhǔn)竭\(yùn)動(dòng)問題:不能進(jìn)行鏈?zhǔn)竭\(yùn)動(dòng)的最大阻礙是回調(diào)函數(shù)的參數(shù)傳遞問題;

方案A

這是替換定時(shí)器中判斷是否停止定時(shí)器那部分代碼:

????????????if(flag)
????????????{
????????????????clearInterval(obj.timer);
????????????????if(fn)
????????????????{
????????????????????fn(obj);//將本次對(duì)象作為參數(shù)傳入回調(diào)函數(shù)
????????????????????//fn.call(obj);//對(duì)象替換
????????????????}

添加方法時(shí)的代碼:

window.onload=function(){
????????var?oLi?=?document.getElementById('li1');
????????oLi.onmouseover=function(){
????????????startMove(oLi,{width:400,height:200,opacity:100},function(obj){//有參數(shù)
????????????????startMove(obj,{width:200,height:100,opacity:30},function(obj){//有參數(shù)
????????????????????//startMove(obj,{width:400,height:200,opacity:100});//傳遞參數(shù)
????????????????});
????????????});
????????}
}

方案B

定時(shí)器中:

if(flag)
????????????{
????????????????clearInterval(obj.timer);
????????????????if(fn)
????????????????{
????????????????????//fn(obj);//將本次對(duì)象作為參數(shù)傳入回調(diào)函數(shù)
????????????????????fn.call(obj);//對(duì)象替換
????????????????}

添加方法時(shí)的代碼:

window.onload=function(){
????????var?oLi?=?document.getElementById('li1');
????????oLi.onmouseover=function(){
????????????startMove(oLi,{width:400,height:200,opacity:100},function(){//無參數(shù)
????????????????startMove(this,{width:200,height:100,opacity:30},function(){//無參數(shù)
????????????????????//startMove(this,{width:400,height:200,opacity:100});//傳遞this
????????????????});
????????????});
????????}
}

其余代碼,參考老師寫的,這里是將對(duì)應(yīng)的部位進(jìn)行替換。如果運(yùn)行有問題,稍微調(diào)試下,看看變量名、參數(shù)順序是否對(duì)應(yīng)。我自己測(cè)試,沒有問題。

最后:下面這段代碼緊跟flag=false;后面較為合理

if(attr=='opacity')
{
????obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';
????obj.style.opacity=(iCur+iSpeed)/100;
}
else
{
????obj.style[attr]=iCur+iSpeed+'px';
}


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

marshall_stan 提問者

非常感謝!
2015-11-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

木木380

方案A中不加參數(shù),只需要將flag=true放入計(jì)時(shí)器中好像就可以了
2016-09-04 回復(fù) 有任何疑惑可以回復(fù)我~

不好意思寫錯(cuò)了。只需要將定義的flag=true;放入計(jì)時(shí)器中即可以完美解決問題。記住重新在瀏覽器中打開。

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

東風(fēng)破

大神,能給講一下為啥flag放入計(jì)時(shí)器中就解決了,非常感謝
2015-09-10 回復(fù) 有任何疑惑可以回復(fù)我~
#2

一布工程師

牛人,研究很久 終于解決該問題了
2015-09-14 回復(fù) 有任何疑惑可以回復(fù)我~

只需要將定義的flag=true;放入for循環(huán)即可以完美解決問題。記住重新在瀏覽器中打開。

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

舉報(bào)

0/150
提交
取消

我已經(jīng)蹦了啊,要么不能實(shí)現(xiàn)同時(shí)運(yùn)動(dòng)到目標(biāo)值,要么不能實(shí)現(xiàn)鏈?zhǔn)竭\(yùn)動(dòng),已經(jīng)試了將判斷句放到各種位置,還是不能完美解決,哎!

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

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

幫助反饋 APP下載

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

公眾號(hào)

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