简单的requestAnimationFrame动画

Posted aSnow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的requestAnimationFrame动画相关的知识,希望对你有一定的参考价值。

html部分

<div id="test" style="width:1px;height:17px;background:#0f0;">0%</div>
    <input type="button" value="Run" id="run"/>
    <script>
        window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
            var start = null;
            var ele = document.getElementById("test");
            var progress = 0;
            function step(timestamp) {
                progress += 1;
                ele.style.width = progress + "%";
                ele.innerHTML=progress + "%";
                if (progress < 100) {
                    setTimeout(function(){
                        requestAnimationFrame(step);
                    },50);
                    
                }
            }
            requestAnimationFrame(step);
            document.getElementById("run").addEventListener("click", function() {
                ele.style.width = "1px";
                progress = 0;
                requestAnimationFrame(step);//调用方法
            }, false);
    </script>

以上是关于简单的requestAnimationFrame动画的主要内容,如果未能解决你的问题,请参考以下文章

requestAnimationFrame()

第136篇:Three.js基础入门动画API:setInterval 与 requestAnimationFrame的区别

简单的requestAnimationFrame动画

使用 requestAnimationFrame 的 javascript 中一个简单的 30fps 游戏循环?

在 requestAnimationFrame 游戏循环中跟踪时间/帧的最佳方法是啥?

优化移动端window.onscroll的执行频率方案