飞翔的小球,小球自由移动

html:
<div id="ball"></div>
css:
 #ball{
            width:150px;
            height:150px;
            background:green;
            border-radius:50%;
            position:absolute;
            transition:background-color 0.3s ease;
}
js:
/**
 * Created by SlzStar on 2017/8/11.
 */
window.onload = function () {
    /*
     1.首先让小球自动每一秒向前走几步
     */
//先获取小球;
 var ball = document.getElementById("ball");
    var stepX = 3;
    var stepY = 3;
    setInterval(function(){
        var l = ball.offsetLeft;
        var t = ball.offsetTop;
        var newLeft = l + stepX;
        var newTop = t+stepY;
        //找到右边最大的临界点;
        var maxLeft = document.documentElement.clientWidth - ball.offsetWidth;
        var maxTop = document.documentElement.clientHeight - ball.offsetHeight;
        if(newLeft>=maxLeft){
            stepX *= -1;
            bg(ball);
        }
        if(newLeft<=0){
            stepX *= -1;
            bg(ball);
        }
        if(newTop>=maxTop){
            stepY *= -1;
            bg(ball);
        }
        if(newTop<=0){
            stepY *= -1;
            bg(ball);
        }
        ball.style.left = newLeft + "px";
        ball.style.top = newTop + "px";
    },20)


    //颜色的函数;
    function bg(obj){
        obj.style.background = "rgb("+rand(0,255)+","+rand(0,255)+","+rand(0,255)+")";
    }
    function rand(n,m){
        return num = Math.floor(Math.random()*(m-n+1))+n;
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值