亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JS實現隨機亂撞彩色圓球特效的方法

2024-05-06 16:19:19
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JS實現隨機亂撞彩色圓球特效的方法,可實現彩色小球的碰撞效果,涉及隨機函數與頁面樣式的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JS實現隨機亂撞彩色圓球特效的方法。分享給大家供大家參考。具體實現方法如下:

 

 
  1. <!doctype html> 
  2. <html lang="en"
  3. <head> 
  4. <meta charset="UTF-8"
  5. <title>JS實現的隨機亂撞的彩色圓球特效代碼</title> 
  6. <style> 
  7. body{ 
  8. font-family: 微軟雅黑;  
  9. body,h1{ 
  10. margin:0; 
  11. canvas{ 
  12. display:block;margin-left: auto;margin-right: auto; 
  13. border:1px solid #DDD;  
  14. background: -webkit-linear-gradient(top, #222,#111); 
  15. }  
  16. </style> 
  17. </head> 
  18. <body> 
  19. <h1>JS實現的隨機亂撞的彩色圓球特效代碼</h1> 
  20. <canvas id="canvas" > 
  21. </canvas> 
  22. <button id="stop">stop</button> 
  23. <button id="run">run</button> 
  24. <button id="addBall">addBall</button> 
  25. <script src="jquery-1.6.2.min.js"></script> 
  26. <script> 
  27. var nimo={ 
  28. aniamted:null
  29. content:null
  30. data:{ 
  31. radiusRange:[5,20], 
  32. speedRange:[-5,5], 
  33. scrollHeight:null
  34. scrollWdith:null 
  35. }, 
  36. balls:[], 
  37. ele:{ 
  38. canvas:null 
  39. }, 
  40. fn:{ 
  41. creatRandom:function(startInt,endInt){//生產隨機數 
  42. var iResult;  
  43. iResult=startInt+(Math.floor(Math.random()*(endInt-startInt+1))); 
  44. return iResult 
  45. }, 
  46. init:function(){ 
  47. nimo.data.scrollWdith=document.body.scrollWidth; 
  48. nimo.data.scrollHeight=document.body.scrollHeight; 
  49. nimo.ele.canvas=document.getElementById('canvas');  
  50. nimo.content=nimo.ele.canvas.getContext('2d');  
  51. nimo.ele.canvas.width=nimo.data.scrollWdith-50; 
  52. nimo.ele.canvas.height=nimo.data.scrollHeight-100; 
  53. }, 
  54. addBall:function(){ 
  55. var aRandomColor=[]; 
  56. aRandomColor.push(nimo.fn.creatRandom(0,255)); 
  57. aRandomColor.push(nimo.fn.creatRandom(0,255)); 
  58. aRandomColor.push(nimo.fn.creatRandom(0,255));  
  59. var iRandomRadius=nimo.fn.creatRandom(nimo.data.radiusRange[0],nimo.data.radiusRange[1]); 
  60. var oTempBall={ 
  61. coordsX:nimo.fn.creatRandom(iRandomRadius,nimo.ele.canvas.width-iRandomRadius), 
  62. coordsY:nimo.fn.creatRandom(iRandomRadius,nimo.ele.canvas.height-iRandomRadius), 
  63. radius:iRandomRadius,  
  64. bgColor:'rgba('+aRandomColor[0]+','+aRandomColor[1]+','+aRandomColor[2]+',0.5)' 
  65. };  
  66. oTempBall.speedX=nimo.fn.creatRandom(nimo.data.speedRange[0],nimo.data.speedRange[1]); 
  67. if(oTempBall.speedX===0){ 
  68. oTempBall.speedX=1 
  69. if(oTempBall.speedY===0){ 
  70. oTempBall.speedY=1 
  71. oTempBall.speedY=nimo.fn.creatRandom(nimo.data.speedRange[0],nimo.data.speedRange[1]); 
  72. nimo.balls.push(oTempBall) 
  73. }, 
  74. drawBall:function(bStatic){  
  75. var i,iSize; 
  76. nimo.content.clearRect(0,0,nimo.ele.canvas.width,nimo.ele.canvas.height) 
  77. for(var i=0,iSize=nimo.balls.length;i<iSize;i++){ 
  78. var oTarger=nimo.balls[i];  
  79. nimo.content.beginPath(); 
  80. nimo.content.arc(oTarger.coordsX,oTarger.coordsY,oTarger.radius,0,10); 
  81. nimo.content.fillStyle=oTarger.bgColor;  
  82. nimo.content.fill(); 
  83. if(!bStatic){ 
  84. if(oTarger.coordsX+oTarger.radius>=nimo.ele.canvas.width){ 
  85. oTarger.speedX=-(Math.abs(oTarger.speedX)) 
  86. if(oTarger.coordsX-oTarger.radius<=0){ 
  87. oTarger.speedX=Math.abs(oTarger.speedX) 
  88. if(oTarger.coordsY-oTarger.radius<=0){ 
  89. oTarger.speedY=Math.abs(oTarger.speedY) 
  90. if(oTarger.coordsY+oTarger.radius>=nimo.ele.canvas.height){ 
  91. oTarger.speedY=-(Math.abs(oTarger.speedY)) 
  92. oTarger.coordsX=oTarger.coordsX+oTarger.speedX; 
  93. oTarger.coordsY=oTarger.coordsY+oTarger.speedY;  
  94. }  
  95. }, 
  96. run:function(){ 
  97. nimo.fn.drawBall(); 
  98. nimo.aniamted=setTimeout(function(){ 
  99. nimo.fn.drawBall(); 
  100. nimo.aniamted=setTimeout(arguments.callee,10) 
  101. },10) 
  102. }, 
  103. stop:function(){ 
  104. clearTimeout(nimo.aniamted) 
  105. window.onload=function(){ 
  106. nimo.fn.init(); 
  107. var i; 
  108. for(var i=0;i<10;i++){ 
  109. nimo.fn.addBall(); 
  110. nimo.fn.run(); 
  111. document.getElementById('stop').onclick=function(){ 
  112. nimo.fn.stop() 
  113. document.getElementById('run').onclick=function(){ 
  114. nimo.fn.stop() 
  115. nimo.fn.run() 
  116. document.getElementById('addBall').onclick=function(){ 
  117. var i; 
  118. for(var i=0;i<10;i++){ 
  119. nimo.fn.addBall();  
  120. nimo.fn.drawBall(true); 
  121. </script> 
  122. </body> 
  123. </html> 

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影在线看| 日韩免费观看在线观看| 久久精品中文字幕电影| 中日韩美女免费视频网站在线观看| 日韩av在线高清| 亚洲欧美国产精品| 国产精品第10页| 国产一区视频在线播放| 亚洲一级黄色av| 国产精品亚洲网站| 亚洲欧美激情精品一区二区| 国产日韩av高清| 欧美夫妻性生活视频| 亚洲性日韩精品一区二区| 欧美高清自拍一区| 热99久久精品| 黑人狂躁日本妞一区二区三区| 欧美猛男性生活免费| 成人精品视频久久久久| 91久久久久久久久久| 日韩亚洲精品视频| 日韩精品视频在线免费观看| 日韩亚洲国产中文字幕| 国产成人一区二区三区| 成人福利在线视频| 91久久嫩草影院一区二区| 亚洲精品一区中文字幕乱码| 伊人伊成久久人综合网站| 亚洲一区二区在线播放| 7m第一福利500精品视频| 日韩人体视频一二区| 国产成人福利网站| 精品少妇一区二区30p| 91系列在线播放| 欧美在线影院在线视频| 亚洲国产日韩一区| 亚洲福利视频免费观看| 久久视频在线免费观看| 亚洲精品电影久久久| 国产精品一区二区三区久久久| 日本欧美国产在线| 国产69精品久久久久99| 国产亚洲一级高清| 国产精品一区二区电影| 国产美女高潮久久白浆| 国产精品丝袜视频| 91久久精品美女| 欧美激情国内偷拍| 国产丝袜精品第一页| 亚洲男人天堂2024| 久久躁日日躁aaaaxxxx| 亚洲在线观看视频网站| 日韩欧美国产激情| 色琪琪综合男人的天堂aⅴ视频| 久久久精品在线| 亚洲第一男人天堂| 欧美视频专区一二在线观看| 国产精品精品久久久久久| 日韩成人在线播放| 一区二区三区 在线观看视| 国产亚洲一级高清| 成人av色在线观看| 黄色一区二区在线| 日韩欧亚中文在线| 在线观看国产欧美| 久久久久www| 日韩av中文字幕在线| 少妇激情综合网| 欧美二区在线播放| 国产精品网址在线| 日韩有码在线观看| 国产精品第七影院| 亚洲国产欧美一区二区三区久久| 亚洲国产欧美精品| 91国产在线精品| 久久视频免费在线播放| 国产成人精品午夜| 国产999精品| 亚洲天堂第一页| 欧美在线精品免播放器视频| 国产精品久久久久一区二区| 亚洲精品98久久久久久中文字幕| 午夜精品蜜臀一区二区三区免费| 国产精品一区二区久久国产| 亚洲欧美一区二区三区久久| 日韩欧美成人免费视频| 国产丝袜一区视频在线观看| 亚洲欧美制服中文字幕| 国产成人精品优优av| 国产精品国产三级国产aⅴ浪潮| 亚洲伊人久久大香线蕉av| 成人精品网站在线观看| 国产亚洲欧洲在线| 粉嫩老牛aⅴ一区二区三区| 亚洲r级在线观看| 日韩欧美成人精品| 成人信息集中地欧美| 欧美理论片在线观看| 久久久国产精品亚洲一区| 日韩精品福利在线| 欧美一级视频在线观看| 亚洲香蕉成人av网站在线观看| 国产日韩av在线播放| 国产精品国产亚洲伊人久久| 成人网欧美在线视频| 精品久久香蕉国产线看观看gif| 久久人人爽人人爽人人片亚洲| 国产成人精品日本亚洲专区61| 91精品国产综合久久久久久久久| 日韩精品亚洲精品| 在线视频日本亚洲性| 国产成人精品日本亚洲专区61| 日韩免费在线观看视频| 欧美一区二区三区免费视| 少妇高潮久久77777| 日韩亚洲欧美成人| 亚洲成人精品av| 国外日韩电影在线观看| 亚洲深夜福利网站| 欧美视频一区二区三区…| 日韩成人xxxx| 日韩亚洲在线观看| 久久男人资源视频| 91国产视频在线| 欧美巨乳在线观看| 久久99精品久久久久久青青91| 91精品国产高清久久久久久91| 久久久国产一区二区| 亚洲午夜色婷婷在线| 日韩精品免费在线视频| 国产成人精品亚洲精品| 亚洲少妇中文在线| 日韩免费在线免费观看| 国产精品免费福利| 国产精品丝袜视频| 色偷偷av一区二区三区| 欧美极品少妇xxxxⅹ喷水| 午夜精品一区二区三区av| 日韩av网站电影| 欧美成人精品三级在线观看| 国产视频丨精品|在线观看| 欧美性猛交xxxx免费看| 欧美激情高清视频| 黑人巨大精品欧美一区二区免费| 日本欧美在线视频| 日韩性生活视频| 欧美日韩一区二区免费在线观看| 国产免费一区二区三区在线观看| 精品人伦一区二区三区蜜桃网站| 九色91av视频| 亚洲国产毛片完整版| 欧美国产日韩中文字幕在线| 日本成人在线视频网址| 日韩欧美在线字幕| 亚洲福利视频免费观看| 日韩精品视频免费专区在线播放| 91久久精品久久国产性色也91| 国外色69视频在线观看| 国产成人精品亚洲精品| 亚洲网址你懂得| 国产精品96久久久久久又黄又硬| 国产成人高潮免费观看精品| 国产精品免费一区豆花| 欧美电影免费观看高清完整|