原生js實(shí)現(xiàn)彈動(dòng)小球效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)彈動(dòng)小球效果展示的具體代碼,供大家參考,具體內(nèi)容如下

源碼展示
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>彈彈球(原生js)</title>
?
<style>
* {
?? ?margin:0;
?? ?padding:0;
?? ?font-family:Microsoft YaHei,serif;
}
li {
?? ?list-style:none;
}
.ball {
?? ?position:absolute;
?? ?top:0;
?? ?left:0;
?? ?width:100px;
?? ?height:100px;
?? ?background:pink;
?? ?border-radius:50%;
}
</style>
</head>
<body>
<div></div>
?
<script>
? play(10);
?
? function play(num) {
? ? ? //生成num個(gè)div
? ? ? for (var i = 0; i < num; i++) {
? ? ? ? ? var Div = document.createElement("div");
? ? ? ? ? Div.className = "ball";
? ? ? ? ? Div.leftVal = 3 + i; //預(yù)存每個(gè)球的初始速度
? ? ? ? ? Div.topVal = 3 + i; //預(yù)存每個(gè)球的初始速度
? ? ? ? ? Div.style.backgroundColor = randomC();
? ? ? ? ? document.body.appendChild(Div);
? ? ? }
?
? ? ? var aBall = document.querySelectorAll(".ball");
? ? ? maxTop = document.documentElement.clientHeight - aBall[0].clientHeight, //獲取top的最大值
? ? ? ? ? maxLeft = document.documentElement.clientWidth - aBall[0].clientWidth; //獲取left的最大值
?
? ? ? window.onresize = function() {
? ? ? ? ? maxTop = document.documentElement.clientHeight - aBall[0].clientHeight; //獲取top的最大值
? ? ? ? ? maxLeft = document.documentElement.clientWidth - aBall[0].clientWidth; //
? ? ? };
?
? ? ? auto();
?
? ? ? function auto() {
? ? ? ? ? for (var i = 0; i < num; i++) {
? ? ? ? ? ? ? var Ball = aBall[i],
? ? ? ? ? ? ? ? ? startL = Ball.offsetLeft, //取每個(gè)球的初始left和TOP值
? ? ? ? ? ? ? ? ? startT = Ball.offsetTop, //取每個(gè)球的初始left和TOP值
? ? ? ? ? ? ? ? ? Left = startL + Ball.leftVal, //改變,每個(gè)球的left和top值
? ? ? ? ? ? ? ? ? Top = startT + Ball.topVal; //改變,每個(gè)球的left和top值
?
?
? ? ? ? ? ? ? if (Left >= maxLeft || Left <= 0) {
? ? ? ? ? ? ? ? ? Left = Math.min(Left, maxLeft); //限制Left的最大值
? ? ? ? ? ? ? ? ? Left = Math.max(Left, 0); //限制最小值
?
? ? ? ? ? ? ? ? ? Ball.leftVal = -Ball.leftVal;
? ? ? ? ? ? ? ? ? Ball.style.backgroundColor = randomC();
?
? ? ? ? ? ? ? }
? ? ? ? ? ? ? if (Top >= maxTop || Top <= 0) {
? ? ? ? ? ? ? ? ? Ball.topVal = -Ball.topVal;
?
? ? ? ? ? ? ? ? ? Top = Math.min(Top, maxTop); //限制Left的最大值
? ? ? ? ? ? ? ? ? Top = Math.max(Top, 0); //限制最小值
? ? ? ? ? ? ? ? ? Ball.style.backgroundColor = randomC();
? ? ? ? ? ? ? }
?
?
? ? ? ? ? ? ? Ball.style.top = Top + "px";
? ? ? ? ? ? ? Ball.style.left = Left + "px";
? ? ? ? ? }
? ? ? ? ? requestAnimationFrame(auto)
?
? ? ? }
? ? ? // rgb(0-255)
? ? ? function randomC() {
? ? ? ? ? var r = Math.floor(Math.random() * 256),
? ? ? ? ? ? ? g = Math.floor(Math.random() * 256),
? ? ? ? ? ? ? b = Math.floor(Math.random() * 256);
? ? ? ? ? return "rgb(" + r + "," + g + "," + b + ")";
? ? ? }
?
? }
</script>
?
</body>
</html>以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript+canvas實(shí)現(xiàn)框內(nèi)跳動(dòng)小球
- JavaScript結(jié)合Canvas繪畫(huà)畫(huà)運(yùn)動(dòng)小球
- JavaScript canvas實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)小球
- 原生js實(shí)現(xiàn)移動(dòng)小球(碰撞檢測(cè))
- js實(shí)現(xiàn)小球在頁(yè)面規(guī)定的區(qū)域運(yùn)動(dòng)
- 用js實(shí)現(xiàn)小球的自由移動(dòng)代碼
- js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球
- JavaScript實(shí)現(xiàn)小球沿正弦曲線運(yùn)動(dòng)
- p5.js入門(mén)教程之小球動(dòng)畫(huà)示例代碼
- 原生js實(shí)現(xiàn)彈跳小球
相關(guān)文章
關(guān)于在Typescript中做錯(cuò)誤處理的方式詳解
錯(cuò)誤處理是軟件工程重要的一部分,如果處理得當(dāng),它可以為你節(jié)省數(shù)小時(shí)的調(diào)試和故障排除時(shí)間,我發(fā)現(xiàn)了與錯(cuò)誤處理相關(guān)的三大疑難雜癥:TypeScript的錯(cuò)誤類(lèi)型,變量范圍和嵌套,讓我們逐一深入了解它們帶來(lái)的撓頭問(wèn)題,感興趣的朋友可以參考下2023-09-09
javascript中如何處理引號(hào)編碼"
本文為大家介紹下javascript中如何處理引號(hào)編碼,具體如下,感興趣的朋友可以參考下2013-08-08
js對(duì)象屬性名駝峰式轉(zhuǎn)下劃線的實(shí)例代碼
這篇文章主要介紹了js對(duì)象屬性名駝峰式轉(zhuǎn)下劃線的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
typescript 類(lèi)型any不能分配給類(lèi)型never
本文主要介紹了typescript 類(lèi)型any不能分配給類(lèi)型never,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
JavaScript實(shí)現(xiàn)替換字符串中最后一個(gè)字符的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)替換字符串中最后一個(gè)字符的方法,涉及javascript字符串的轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
Firefox下設(shè)為主頁(yè)的JavaScript代碼
在IE下,我們可以輕松使用以下代碼來(lái)實(shí)現(xiàn)設(shè)置主頁(yè) 但在firefox我們需要做的更多2008-09-09
javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序
這篇文章主要介紹了javascript排序函數(shù)實(shí)現(xiàn)數(shù)字排序的相關(guān)資料,附上示例,需要的朋友可以參考下2015-06-06
js和jquery批量綁定事件傳參數(shù)一(新豬豬原創(chuàng))
js綁定事件傳參,javascript綁定事件傳參數(shù),jquery綁定事件傳參數(shù)2010-06-06
十個(gè)開(kāi)發(fā)人員面臨的最常見(jiàn)的JavaScript問(wèn)題總結(jié)
今天,JavaScript?是幾乎所有現(xiàn)代?Web?應(yīng)用的核心。這就是為什么JavaScript問(wèn)題,以及找到導(dǎo)致這些問(wèn)題的錯(cuò)誤,是?Web?發(fā)者的首要任務(wù)。本文總結(jié)了十個(gè)常見(jiàn)的問(wèn)題及解決方法,需要的可以參考一下2022-11-11

