JavaScript实现简单的圆球反弹运动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .circle { 100px; height: 100px; border: 1px solid #ccc; border-radius: 50%; background: #008c8c; position: fixed; left: 100px; top: 100px; } </style> </head> <body> <div class="circle"></div> <script> var circle = document.querySelector(".circle"); var style = window.getComputedStyle(circle); var disX = 10, disY = 10, time = 30; circle.onclick = function () { setInterval(function () { var left = parseFloat(style.left); var top = parseFloat(style.top); var newLeft = left + disX; var newTop = top + disY; if (left < 0) { newLeft = 0; disX = -disX; } if (left > document.documentElement.clientWidth - parseInt(style.width)) { newLeft = document.documentElement.clientWidth - parseInt(style.width); disX = -disX; } if (top < 0) { newTop = 0; disY = -disY; } if (top > document.documentElement.clientHeight - parseInt(style.height)) { newTop = document.documentElement.clientHeight - parseInt(style.height); disY = -disY; } circle.style.left = newLeft + "px"; circle.style.top = newTop + "px"; }, time); } </script> </body> </html>