本文實例講述了原生JS實現的多個彩色小球跟隨鼠標移動動畫效果。分享給大家供大家參考,具體如下:
實現方法:
每個小球移動都有自己的坐標,小球移動的同時,需要進行坐標傳遞,將第一個坐標依次傳遞給最后一個坐標,來實現小球跟著移動的效果
實現代碼:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>小球運動</title> <style type="text/css"> p { border-radius: 50%; width: 30px; height: 30px; position: absolute; text-align: center; line-height: 30px; color: white; } </style> </head> <body> </body> <script type="text/javascript"> //創建數組存儲所有的小球 var balls = []; //創建小球函數 function createballs(){ for (var i = 0;i < 60;i++) { var ball = document.createElement("p"); ball.innerHTML = i + 1; ball.style.backgroundColor = randomColor(); //將創建的小球存儲到數組中 document.body.appendChild( ball); //將所有的小球存在數組中 balls.push( ball); } } createballs(); //隨機函數 function randomNum(m, n) { return Math.floor(Math.random() * (n - m + 1) + m); } //隨機顏色 function randomColor() { return "rgb(" + randomNum(0, 255) + "," + randomNum(0, 255) + "," + randomNum(0, 255) + ")"; } document.onmousemove = function(e){ var eventObj = e || event; for(var i = balls.length - 1;i > 0;i--){ //將小球的下標通過for循環進行傳遞 balls[i].style.left = balls[i - 1].style.left; balls[i].style.top= balls[i - 1].style.top; } //將第一個小球賦值為最新的事件對象中的坐標 balls[0].style.left = eventObj.clientX + "px"; balls[0].style.top= eventObj.clientY + "px"; } </script></html>運行效果:

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript運動效果與技巧匯總》、《JavaScript動畫特效與技巧匯總》、《JavaScript圖形繪制技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答