简单的碰壁反弹效果

可以使用js来实现简单的碰壁反弹效果,具体的内容请大家参考代码部分。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>碰撞小球</title>
    <style>
    #box{
        width: 1000px;
        height: 800px;
        position: relative;
        border:1px solid red;
        margin:50px auto 0;
    }
    #boll{
        width: 50px;
        height: 50px;
/*        border-radius: 25px;*/
        border:1px solid green;
        position: absolute;
        top: 66px;
        left: 88px;
    }
    </style>
</head>
<body>
    <div id="box">
        <div id="boll"></div>
    </div>
    <script>
        var box=document.getElementById('box');
        var boll=document.getElementById('boll');
        var x=88,y=66,timer1=null,movex=1,movey=1;
        console.log(box.clientWidth-boll.clientWidth);
        console.log(box.clientWidth-boll.offsetWidth);
            timer1=setInterval(function(){
                if (movex) {//判断方向
                    x++;
                    if (x>=box.clientWidth-boll.clientWidth) {
                        movex=0;
                    }boll.style.left=x+'px';}
                    else{
                        x--;
                        if (x<=0) {
                            movex=1;
                        }boll.style.left=x+'px';
                    }
                if (movey) {
                    y++;
                    
                    if (y>=box.clientHeight-boll.clientHeight) {
                        movey=0;
                    }boll.style.top=y+'px';
                }else{
                        y--;
                        if (y<=0) {
                            movey=1;
                        }boll.style.top=y+'px';
                    }
            },1)
    </script>
</body>
</html>

其中movex和movey两个变量是判断运动的方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值