<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        window.requestAnimationFrame是什么意思,怎么用_基礎知識

        來源:懂視網 責編:小采 時間:2020-11-27 21:06:40
        文檔

        window.requestAnimationFrame是什么意思,怎么用_基礎知識

        window.requestAnimationFrame是什么意思,怎么用_基礎知識:再看別人實現粒子效果的時候會有以下代碼: 代碼如下: window.requestAnimationFrame (window.requestAnimationFrame = window.webkitRequestAnimationFrame window.mozRequestAnimationFrame win
        推薦度:
        導讀window.requestAnimationFrame是什么意思,怎么用_基礎知識:再看別人實現粒子效果的時候會有以下代碼: 代碼如下: window.requestAnimationFrame (window.requestAnimationFrame = window.webkitRequestAnimationFrame window.mozRequestAnimationFrame win

        再看別人實現粒子效果的時候會有以下代碼:
        代碼如下:
        window.requestAnimationFrame || (window.requestAnimationFrame = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame
        || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
        function(callback, element) {
        return window.setTimeout(function() {
        return callback(+new Date());
        }, 1000 / 60)
        });

        這個到底是什么意思,它又是怎么用的呢?
        window.requestAnimationFrame 告訴瀏覽器您要執行的動畫并且請求瀏覽器的在下一個動畫幀重繪窗口。該方法在瀏覽器重繪之前作為一個回調函數被調用。
        就是告訴瀏覽器在刷新屏幕的時候,調用這個方法。

        window.requestAnimationFrame的前世今生:
        在90年代,那個互聯網做廣告的年代,window上面各種走馬燈,各種狀態文字都是用setTimeout來時實現的,如下:
        代碼如下:
        (function(){
        function update(){
        setTimeout(update,1000)
        }
        setTimeout(update,1000)
        })();
        (function(){
        function update(){
        //
        }
        setInterval(update,1000)
        })();

        動畫的問題最棘手的是延時問題,對于顯示器來說,每一秒60幀頻,如果我們按照瀏覽器的刷新速率來控制我們的動畫時間的話會有很好的效果,即17ms,setTimeout(callback,1000/60),但是:
        1.各個瀏覽器及時精度是不一樣的。
        2.對于setTimeout 和setInterval 實現機制并不是我們需要的那樣,當經過特定的時間后,瀏覽器會將那部分代碼加入到UI的繪制隊列當中,如果這個時候UI線程很忙,有其它的任務阻塞,動畫的下一幀就不會按時執行。經過長時間的累計堆加之后,可能我們偏離原來的時間點誤差越來越大。

        Mozilla 的 Robert O'Callahan 在思考這個問題,并想出了一個獨特的方案。他指出CSS transitions 和 animations的優勢在于瀏覽器知道哪些動畫將會發生,所以得到正確的間隔來刷新UI。而javascript動畫,瀏覽器不知道動畫正在發生。他的解決方案是創建一個mozRequestAnimationFrame()方法來告訴瀏覽器哪些javascript代碼正在執行,這使得瀏覽在執行一些代碼后得到優化。

        mozRequestAnimationFrame()方法接受一個參數,是一個屏幕重繪前被調用的函數。這個函數用來對生成下合適的dom樣式的改變,這些改變用在下一次重繪中。你可以像調用setTimeout()一樣的方式鏈式調用mozRequestAnimationFrame()。
        這個就是window.requestAnimationFrame的由來。

        在Mozilla官網看到如下
        Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.
        由于這項技術的規范還沒有穩定,正確的前綴使用在各種瀏覽器的兼容性表。還要注意的是語法和行為的實驗技術是如有改變,在未來版本的瀏覽器的規格變化。

        目前在Android系統下是不支持的,動畫只能setTimeout咯。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        window.requestAnimationFrame是什么意思,怎么用_基礎知識

        window.requestAnimationFrame是什么意思,怎么用_基礎知識:再看別人實現粒子效果的時候會有以下代碼: 代碼如下: window.requestAnimationFrame (window.requestAnimationFrame = window.webkitRequestAnimationFrame window.mozRequestAnimationFrame win
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本免费人成在线网站| 成人嫩草影院免费观看| 99久久人妻精品免费一区| 亚洲综合色婷婷在线观看| 51视频精品全部免费最新| 亚洲视频免费观看| 亚洲永久永久永久永久永久精品| 亚洲熟女精品中文字幕| 中文在线免费看视频| 99在线热视频只有精品免费| 国产A在亚洲线播放| 亚洲欧美第一成人网站7777| 毛片免费在线观看网址| 亚洲中文字幕乱码一区| 久久综合九色综合97免费下载| 精品久久久久久久免费人妻 | 亚洲国产成人资源在线软件| 久久久精品2019免费观看 | 毛片免费视频观看| 亚洲午夜无码久久久久小说| 成年男女免费视频网站| 久久精品亚洲日本波多野结衣 | 羞羞漫画页面免费入口欢迎你| 亚洲6080yy久久无码产自国产| 野花香高清视频在线观看免费| 岛国大片免费在线观看| 日韩亚洲AV无码一区二区不卡| 曰韩无码AV片免费播放不卡| 亚洲午夜未满十八勿入网站2| 国产亚洲AV无码AV男人的天堂| 国产精品亚洲AV三区| 中文字幕亚洲日韩无线码| 国产一级淫片a免费播放口| 国产aa免费视频| 亚洲国产成人爱av在线播放| 国产一级在线免费观看| 亚洲国产成人精品久久| 免费在线观看的黄色网址| 色欲色香天天天综合网站免费| 亚洲啪啪AV无码片| 国产精品综合专区中文字幕免费播放 |