zoukankan      html  css  js  c++  java
  • 【案例】自由运动小球

    <!DOCTYPE html>

    <html lang="en">

    <head>

            <meta charset="UTF-8">

            <title>飞翔的小球</title>

            <style>

               *{

                             margin: 0;

                             padding: 0;

                     }

                     #ball{

                             200px;

                             height: 200px;

                             border-radius: 50%;

                             background: pink;

                             position: absolute;

                     }

            </style>

    </head>

    <body>

            <div id="ball"></div>

    </body>

    <script>

            //获取元素

            var ball = document.getElementById('ball');

            //封装随机函数

            function rand(m,n){

                     return Math.floor(Math.random() * (n - m + 1)) + m;

            }

            //封装改变颜色的函数

            function changeBg(){

                     var r = rand(0,255);

                     var g = rand(0,255);

                     var b = rand(0,255);

                     ball.style.background = 'rgb('+ r +','+ g +','+ b +')';

            }

            changeBg();

            //设置小球运动步径

            var stepX = 2;

            var stepY = 2;

            setInterval(function(){

                     var newLeft = ball.offsetLeft + stepX;

                     var newTop = ball.offsetTop + stepY;

                     var clientWidth = document.documentElement.clientWidth || document.body.clientWidth;

                     var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;

                     if(newLeft >= clientWidth - ball.offsetWidth){

                             stepX *= -1;

                             changeBg();

                     }

                     if(newLeft <= 0){

                             stepX *= -1;

                             changeBg();

                     }

                     if(newTop >= clientHeight - ball.offsetHeight){

                             stepY *= -1;

                             changeBg();

                     }

                     if(newTop <= 0){

                             stepY *= -1;

                             changeBg();

                     }

                     ball.style.left = newLeft + 'px';

                     ball.style.top = newTop + 'px';

            },20);

    </script>

    </html>

  • 相关阅读:
    《程序员修炼之道》阅读笔记2
    《程序员修炼之道》阅读笔记1
    Ubuntu16桥接模式上网并设置静态ip
    读《架构漫谈》有感
    质量属性6个常见属性的场景分析
    sql注水
    python版本切换
    使用vue-cli构建 webpack打包工具时,生产环境下,每次build时,删除dist目录,并重新生成,以防dist目录文件越来越多。
    Java栈与堆
    从一个字符串s的第i个字符(不包括此字符)开始删除n个字符
  • 原文地址:https://www.cnblogs.com/sherryStudy/p/ballFree_move.html
Copyright © 2011-2022 走看看