原生JS實現的多個彩色小球跟隨鼠標移動動畫效果示例
本文實例講述了原生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">
//創(chuàng)建數組存儲所有的小球
var balls = [];
//創(chuàng)建小球函數
function createballs(){
for (var i = 0;i < 60;i++) {
var ball = document.createElement("p");
ball.innerHTML = i + 1;
ball.style.backgroundColor = randomColor();
//將創(chuàng)建的小球存儲到數組中
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循環(huán)進行傳遞
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程序設計有所幫助。
相關文章
javascript Firefox與IE 替換節(jié)點的方法
Firefox 與 IE 替換節(jié)點的方法2010-02-02
使用JavaScript實現在頁面中顯示距離2017年中秋節(jié)的天數
這篇文章主要介紹了 使用JavaScript實現在頁面中顯示距離2017年中秋節(jié)的天數的相關資料,需要的朋友可以參考下2017-09-09

