六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

h5的定時器如何完成進度條技巧

[摘要]這次給大家帶來h5的定時器怎樣實現進度條功能,h5的定時器實現進度條功能的注意事項有哪些,下面就是實戰案例,一起來看一下。在requestAnimationFrame出現之前,我們一般都用setTimeout和setInterval,那么html5為什么新增一個requestAnimationFr...
這次給大家帶來h5的定時器怎樣實現進度條功能,h5的定時器實現進度條功能的注意事項有哪些,下面就是實戰案例,一起來看一下。

在requestAnimationFrame出現之前,我們一般都用setTimeout和setInterval,那么html5為什么新增一個requestAnimationFrame,他的出現是為了解決什么問題?

優勢與特點:

1)requestAnimationFrame會把每一幀中的所有DOM操作集中起來,在一次重繪或回流中就完成,并且重繪或回流的時間間隔緊緊跟隨瀏覽器的刷新頻率

2)在隱藏或不可見的元素中,requestAnimationFrame將不會進行重繪或回流,這當然就意味著更少的CPU、GPU和內存使用量

3)requestAnimationFrame是由瀏覽器專門為動畫提供的API,在運行時瀏覽器會自動優化方法的調用,并且如果頁面不是激活狀態下的話,動畫會自動暫停,有效節省了CPU開銷

一句話就是:這玩意性能高,不會卡屏,根據不同的瀏覽器自動調整幀率。如果看不懂或者不理解,也沒有什么關系,這玩意跟瀏覽器渲染原理有關。我們先學會使用它!

如何使用requestAnimationFrame?

使用方式跟定時器setTimeout差不多,不同之處在于,他不需要設置時間間隔參數

var timer = requestAnimationFrame( function(){
       console.log( '定時器代碼' );
   } );

參數是一個回調函數,返回值是一個整數,用來表示定時器的編號.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script>
        window.onload = function(){
            var aInput = document.querySelectorAll( "input" ),
                timer = null;
            aInput[0].onclick = function(){
                timer = requestAnimationFrame( function say(){
                    console.log( 1 );
                    timer = requestAnimationFrame( say );
                } );
            };
            aInput[1].onclick = function(){
                cancelAnimationFrame( timer );
            }
        }
    </script>
</head>
<body>
    <input type="button" value="開啟">
    <input type="button" value="關閉">
</body>
</html>

cancelAnimationFrame用來關閉定時器

這個方法需要處理兼容:

簡單的兼容:

window.requestAnimFrame = (function(){
  return  window.requestAnimationFrame         
          window.webkitRequestAnimationFrame   
          window.mozRequestAnimationFrame      
          function( callback ){
            window.setTimeout(callback, 1000 / 60);
          };
})();

如果瀏覽器都不認識AnimationFrame,就用setTimeout兼容.

運用3種不同的定時器(setTimeout, setInterval, requestAnimationFrame)實現一個進度條的加載

相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

HTML的table鼠標拖拽排序該如何實現

HTML 5之新增的特性該如何使用

怎樣解決各種ie6-ie10的兼容問題

以上就是h5的定時器怎樣實現進度條功能的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 一级免费看片 | 亚洲欧美自拍另类图片色 | 日韩在线2020专区 | 欧美在线高清视频 | 日本乱码一卡二卡三卡永久 | 亚洲成人网在线播放 | 四虎精品成人免费观看 | 伊人色在线观看 | 四虎永久在线精品视频免费观看 | 一级女性全黄久久生活片 | 色婷婷六月丁香七月婷婷 | 日本三级成人中文字幕乱码 | 伊人青青久久 | 青娱乐免费视频观看 | 手机看片福利日韩国产 | 亚洲国产精品久久婷婷 | 青春草在线视频免费观看 | 四虎影视免费观看 | 无码日韩精品一区二区免费 | 亚洲精品高清视频 | 日韩精品国产自在欧美 | 亚洲国产天堂久久综合图区 | 日韩免费高清一级毛片在线 | 日韩不卡在线视频 | 日毛片| 日韩精品第一区 | 亚洲网站免费观看 | 五月天丁香婷婷综合 | 日本高清视频在线免费观看 | 欧美亚洲三级 | 日日噜噜夜夜狠狠扒开双腿 | 亚洲六月丁香婷婷综合 | 日韩精品在线观看免费 | 在线亚洲精品国产波多野结衣 | 香蕉成人福利片视频在线下载 | 日本欧美高清全视频 | 中文字幕日韩在线观看 | 日韩精品久久久免费观看夜色 | 无人在线观看完整免费版视频 | 手机看片国产免费永久 | 亚洲fuli在线观看 |