課程
/前端開(kāi)發(fā)
/Html5
/炫麗的倒計(jì)時(shí)效果Canvas繪圖與動(dòng)畫(huà)基礎(chǔ)
為什么暫時(shí)離開(kāi)頁(yè)面后回來(lái)小球會(huì)堆積, ?
2016-07-07
源自:炫麗的倒計(jì)時(shí)效果Canvas繪圖與動(dòng)畫(huà)基礎(chǔ) 5-1
正在回答
這里有個(gè)Bug,就是離開(kāi)頁(yè)面以后小球會(huì)堆積或者說(shuō)是小球不一會(huì)運(yùn)動(dòng)了。這個(gè)原因是因?yàn)槲覀儧](méi)有停留在當(dāng)前頁(yè)面,計(jì)時(shí)器會(huì)照常執(zhí)行但是不會(huì)一直刷新動(dòng)畫(huà)效果。解決這個(gè)問(wèn)題的方式就是通過(guò)document.hidden來(lái)判斷是否停留在當(dāng)前頁(yè)面,這個(gè)方式會(huì)存在兼容性問(wèn)題,所以我們要這樣寫(xiě)var hiddenProperty = 'hidden' in document ? 'hidden' : ? ?
? ? 'webkitHidden' in document ? 'webkitHidden' : ? ?
? ? 'mozHidden' in document ? 'mozHidden' : ? ?
? ? null;
并在計(jì)時(shí)器內(nèi)調(diào)用if(!document[hiddenProperty]){
render(context);
updateTime();?
}else{
console.log('not current pages!');
}
?//Math.min();兩個(gè)數(shù)取最小值 ?while(balls.length>Math.min(250,cnt)){ ??balls.pop();//刪除第cnt個(gè)到balls.length-1個(gè)數(shù)組 ?} ?//使用上面的循環(huán)方式代替下面的循環(huán)方式就可以了 ?/*while(balls.length>cnt){ ??balls.pop();//刪除第cnt個(gè)到balls.length-1個(gè)數(shù)組 ?}*/
使用上面的循環(huán)方式代替下面的循環(huán)方式就可以了
那關(guān)了定時(shí)器,不就不動(dòng)了嘛
其實(shí)這個(gè)遺留的bug,定時(shí)器沒(méi)有關(guān)閉定時(shí)器造成的
舉報(bào)
學(xué)習(xí)HTML5中最激動(dòng)人心的技術(shù)Canvas,徹底釋放自己的創(chuàng)造力
4 回答小球堆積問(wèn)題
1 回答一堆小球出現(xiàn)
5 回答老師,這個(gè)canvas 你把瀏覽器最小化,然后重新打開(kāi),會(huì)出現(xiàn)一大堆堆積的小球,這個(gè)問(wèn)題可以解決么?
3 回答老師,請(qǐng)問(wèn)一下為什么最小化或者不在當(dāng)前標(biāo)簽頁(yè)面會(huì)堆一大堆小球?
1 回答解決切換頁(yè)面后,小球堆積的問(wèn)題,主要是給頁(yè)面添加個(gè)監(jiān)聽(tīng)事件
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-05-20
這里有個(gè)Bug,就是離開(kāi)頁(yè)面以后小球會(huì)堆積或者說(shuō)是小球不一會(huì)運(yùn)動(dòng)了。這個(gè)原因是因?yàn)槲覀儧](méi)有停留在當(dāng)前頁(yè)面,計(jì)時(shí)器會(huì)照常執(zhí)行但是不會(huì)一直刷新動(dòng)畫(huà)效果。解決這個(gè)問(wèn)題的方式就是通過(guò)document.hidden來(lái)判斷是否停留在當(dāng)前頁(yè)面,這個(gè)方式會(huì)存在兼容性問(wèn)題,所以我們要這樣寫(xiě)var hiddenProperty = 'hidden' in document ? 'hidden' : ? ?
? ? 'webkitHidden' in document ? 'webkitHidden' : ? ?
? ? 'mozHidden' in document ? 'mozHidden' : ? ?
? ? null;
并在計(jì)時(shí)器內(nèi)調(diào)用if(!document[hiddenProperty]){
render(context);
updateTime();?
}else{
console.log('not current pages!');
}
2017-03-08
使用上面的循環(huán)方式代替下面的循環(huán)方式就可以了
2016-10-17
那關(guān)了定時(shí)器,不就不動(dòng)了嘛
2016-07-08
其實(shí)這個(gè)遺留的bug,定時(shí)器沒(méi)有關(guān)閉定時(shí)器造成的