JavaScript實現小球沿正弦曲線運動

如圖,小球沿正弦函數曲線從左往右運動,達到曲線右邊界(小球運動完一個週期)會回到左邊重新開始運動。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .dot{
            margin-top: 300px;
            position: absolute;
            width: 1px;
            height: 1px;
            background: #000000;
        }
        #ball{
            width: 10px;
            height: 10px;
            background: red;
            border: 1px solid red;
            position: absolute;
            border-radius: 10px;
        }
    </style>
</head>
<body>

<div style="position: relative; width: 600px;
height: 600px;
 border: 1px solid #000000" id="draw_bo" >
</div>
<div id="ball" ></div>
<script type="text/javascript">
    var dom=document.getElementById("draw_bo");
    var ball=document.getElementById("ball");
    var x=0,y=300;
    ball.style.left=x+"px";//小球初始座標x
    ball.style.top=y+"px";//小球初始座標y
    for(var angle=0;angle<600;angle+=0.01){//畫正弦線
        var childDot=document.createElement('div');
        childDot.className='dot';
        childDot.style.top=300*(Math.sin(angle*Math.PI/300))+"px";
        childDot.style.left=angle+"px";
        dom.appendChild(childDot);
    }
    var time=setInterval(function () {
        x=x+5;//小球運動速度
        y=Math.floor(Math.sin(x/600*2*Math.PI)*300)+300;//小球運動的高度
        if(x>600) x=0;
        ball.style.left=x+"px";
        ball.style.top=y+"px";
    },100);
</script>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章