码迷,mamicode.com
首页 > Web开发 > 详细

js动画之requestAnimationFrame回调函数代替setTimeout

时间:2020-01-15 12:07:23      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:htm   max   abs   速度   www   style   timeout   script   doc   

继续完善我上一篇博客:https://www.cnblogs.com/duanhuarong/p/12195466.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        * {margin: 0;padding: 0;}
        #div1 {width: 200px;height: 200px;position: absolute;left: 0;background: red;}
    </style>
</head>
<body>
    <div id="div1"></div>
    <script>
        window.onload = function () {
            let Odiv = document.getElementById("div1");
            let disX = 5;
            let disY = 5;
            let x=0;
            let y=0;
            let maxWidth = window.innerWidth - Odiv.offsetWidth-disX;        //浏览器左边界=浏览器宽度-div的宽度-水平速度矢量  
            let maxHeight = window.innerHeight - Odiv.offsetHeight-disY;     //浏览器右边界=浏览器高度-div的高度-垂直速度矢量
            function auto(){
                if(x>=maxWidth)disX*=-1;
                if(y>=maxHeight)disY*=-1;
                if(x<0)disX*=-1;
                if(y<0)disY*=-1;
                x+=disX;
                y+=disY;
                Odiv.style.left=x+‘px‘;
                Odiv.style.top=y+‘px‘;
               //和setTimeout一样,要手动调用才能实现连续动画。
                window.requestAnimationFrame(auto);
            }
            auto();
        }
    </script>
</body>
</html>

 

参考文档:https://www.cnblogs.com/xiaoyulive/p/6690999.html

js动画之requestAnimationFrame回调函数代替setTimeout

标签:htm   max   abs   速度   www   style   timeout   script   doc   

原文地址:https://www.cnblogs.com/duanhuarong/p/12195575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!