原生JS實(shí)現(xiàn)的多個(gè)彩色小球跟隨鼠標(biāo)移動(dòng)動(dòng)畫效果示例
本文實(shí)例講述了原生JS實(shí)現(xiàn)的多個(gè)彩色小球跟隨鼠標(biāo)移動(dòng)動(dòng)畫效果。分享給大家供大家參考,具體如下:
實(shí)現(xiàn)方法:
每個(gè)小球移動(dòng)都有自己的坐標(biāo),小球移動(dòng)的同時(shí),需要進(jìn)行坐標(biāo)傳遞,將第一個(gè)坐標(biāo)依次傳遞給最后一個(gè)坐標(biāo),來實(shí)現(xiàn)小球跟著移動(dòng)的效果
實(shí)現(xiàn)代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>小球運(yùn)動(dòng)</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)建數(shù)組存儲(chǔ)所有的小球
var balls = [];
//創(chuàng)建小球函數(shù)
function createballs(){
for (var i = 0;i < 60;i++) {
var ball = document.createElement("p");
ball.innerHTML = i + 1;
ball.style.backgroundColor = randomColor();
//將創(chuàng)建的小球存儲(chǔ)到數(shù)組中
document.body.appendChild( ball);
//將所有的小球存在數(shù)組中
balls.push( ball);
}
}
createballs();
//隨機(jī)函數(shù)
function randomNum(m, n) {
return Math.floor(Math.random() * (n - m + 1) + m);
}
//隨機(jī)顏色
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--){
//將小球的下標(biāo)通過for循環(huán)進(jìn)行傳遞
balls[i].style.left = balls[i - 1].style.left;
balls[i].style.top= balls[i - 1].style.top;
}
//將第一個(gè)小球賦值為最新的事件對(duì)象中的坐標(biāo)
balls[0].style.left = eventObj.clientX + "px";
balls[0].style.top= eventObj.clientY + "px";
}
</script>
</html>
運(yùn)行效果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript運(yùn)動(dòng)效果與技巧匯總》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript圖形繪制技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)
在日常的網(wǎng)頁開發(fā)中,我們會(huì)遇到獲取節(jié)點(diǎn)的問題,而js是寫網(wǎng)頁的最基礎(chǔ)的語言,也是最常用的,這篇文章主要給大家介紹了關(guān)于如何使用JS獲取當(dāng)前節(jié)點(diǎn)的兄弟/父/子節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04
js傳中文參數(shù)controller里獲取參數(shù)亂碼問題解決方法
js傳中文參數(shù),在controller里獲取參數(shù)亂碼的問題在本文有個(gè)不錯(cuò)的解決方法,感興趣的朋友可以參考下2014-01-01
利用ES6實(shí)現(xiàn)單例模式及其應(yīng)用詳解
單例是在程序設(shè)計(jì)非?;A(chǔ)的東西,這篇文章主要給大家介紹了關(guān)于利用ES6實(shí)現(xiàn)單例模式及其應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
JavaScript實(shí)現(xiàn)班級(jí)隨機(jī)點(diǎn)名小應(yīng)用需求的具體分析
班級(jí)隨機(jī)點(diǎn)名小應(yīng)用,點(diǎn)擊開始按鈕,人員的顏色開始變化,當(dāng)停止的時(shí)候,會(huì)有一個(gè)顏色不同的位置,那么這個(gè)位置就是被點(diǎn)到的同學(xué)了2014-05-05
BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果
這篇文章主要介紹了BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果,代碼分為動(dòng)態(tài)和疊加兩種效果,需要的朋友可以參考下2016-12-12
通用javascript腳本函數(shù)庫 方便開發(fā)
javascript 在 WEB 編程中能起到很大的作用,將一些常用的功能寫成javascript類庫。2009-10-10
JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)
這篇文章主要介紹了JS實(shí)現(xiàn)“隱藏與顯示”功能的多種方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
IScroll5 中文API參數(shù)說明和調(diào)用方法
IScroll是移動(dòng)頁面上被使用的一款仿系統(tǒng)滾動(dòng)插件。IScroll5相對(duì)于之前的IScroll4改進(jìn)了許多,使得大家可以更方便的定制所需的功能了。2016-05-05

