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

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

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中文網其它相關文章!


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




主站蜘蛛池模板: 亚洲破处视频 | 亚洲乱码一区二区三区国产精品 | 午夜小视频在线观看 | 日韩国产欧美在线观看 | 小草青青免费影视观看 | 日本在线看小视频网址 | 欧美性猛交xxxx | 日韩a在线观看免费观看 | 青青青国产| 中文字幕一区二区在线观看 | 日韩精品福利在线 | 亚洲欧美成aⅴ人在线观看 亚洲欧美不卡 | 伊人狼人影院 | 亚洲成人婷婷 | 天天看片日日夜夜 | 特一级黄色片 | 亚洲第成色999久久网站 | 日韩精品视频免费网址 | 最新国语露脸精品国产 | 一二三四高清在线手机视频 | 欧美在线视频不卡 | 亚洲狼人综合 | 色欧美色 | 日本永久视频 | 人人狠狠综合久久亚洲 | 下克上动漫第一集 | 日韩免费片| 人人爽天天爽夜夜爽曰 | 人妖女天堂视频在线96 | 青青青草影院 | 日本一区二区三区久久 | 先锋影音va中文资源 | 亚洲国产成人久久精品影视 | 香蕉视频97| 天天影视色香欲综合网天天录日日录 | 香港三级理论在线影院 | 涩涩涩在线 | 日本免费在线 | 午夜狠狠操 | 我想看一级黄色毛片 | 医生护士一级毛片 |