這篇文章主要介紹了html5怎么制作新增的定時器的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇html5怎么制作新增的定時器文章都會有所收獲,下面我們一起來看看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到云縣網(wǎng)站設(shè)計與云縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋云縣地區(qū)。
在requestAnimationFrame出現(xiàn)之前,我們一般都用setTimeout和setInterval,那么html5為什么新增一個requestAnimationFrame,他的出現(xiàn)是為了解決什么問題?
優(yōu)勢與特點(diǎn):
1)requestAnimationFrame會把每一幀中的所有DOM操作集中起來,在一次重繪或回流中就完成,并且重繪或回流的時間間隔緊緊跟隨瀏覽器的刷新頻率
2)在隱藏或不可見的元素中,requestAnimationFrame將不會進(jìn)行重繪或回流,這當(dāng)然就意味著更少的CPU、GPU和內(nèi)存使用量
3)requestAnimationFrame是由瀏覽器專門為動畫提供的API,在運(yùn)行時瀏覽器會自動優(yōu)化方法的調(diào)用,并且如果頁面不是激活狀態(tài)下的話,動畫會自動暫停,有效節(jié)省了CPU開銷
一句話就是:這玩意性能高,不會卡屏,根據(jù)不同的瀏覽器自動調(diào)整幀率。如果看不懂或者不理解,也沒有什么關(guān)系,這玩意跟瀏覽器渲染原理有關(guān)。我們先學(xué)會使用它!
如何使用requestAnimationFrame?
使用方式跟定時器setTimeout差不多,不同之處在于,他不需要設(shè)置時間間隔參數(shù)
var timer = requestAnimationFrame( function(){ console.log( '定時器代碼' ); } );
參數(shù)是一個回調(diào)函數(shù),返回值是一個整數(shù),用來表示定時器的編號.
Document
cancelAnimationFrame用來關(guān)閉定時器
這個方法需要處理兼容:
簡單的兼容:
window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 60); }; })();
如果瀏覽器都不認(rèn)識AnimationFrame,就用setTimeout兼容.
運(yùn)用3種不同的定時器(setTimeout, setInterval, requestAnimationFrame)實現(xiàn)一個進(jìn)度條的加載
一、setInterval方式:
Document 0%
二、setTimeout方式
三、requestAnimationFrame方式
Document 0%
關(guān)于“html5怎么制作新增的定時器”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“html5怎么制作新增的定時器”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。