日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

js實現隨機圓與矩形功能

瀏覽:206日期:2024-04-13 14:04:34

本文實例為大家分享了js實現隨機圓與矩形功能的具體代碼,供大家參考,具體內容如下

1、節點操作版

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>DOM節點操作版本</title></head><style> *{ margin: 0;padding: 0; } html,body,.box{ width: 100%;height: 100%; } #content{ background: #f5f5f5; } .circle{ border-radius: 50%;position: absolute; } .rect{ position: absolute; } .btn{ position: fixed;top: 0;left: 0; }</style><body> <div class='box'></div> <div class='btn'> <button id='createCircle'>創建隨機圓</button> <button id='createRect'>創建隨機矩形</button> </div></body><script> class Public{ constructor(){ this.x = this.randomR(0,1800); this.y = this.randomR(40,806); this.color = this.randomColor(); this.r = this.randomR(10,20); } randomR(min,max){//指定范圍內的隨機半徑 return parseInt(Math.random() * (max - min) + min); } randomColor(){//隨機顏色 let rgba = `rgba(${this.randomR(0,255)},${this.randomR(0,255)},${this.randomR(0,255)},1)`; return rgba; } } class Circle extends Public{ constructor(){ super(); } circle(){ const {r,x,y,color} = this; const contentElem = document.getElementById('content'); let declareElem = document.createElement('div'); declareElem.className = 'circle'; declareElem.style.width = `${r * 2}px`; declareElem.style.height = `${r * 2}px`; declareElem.style.background = color; declareElem.style.top = `${y}px`; declareElem.style.left = `${x}px`; contentElem.appendChild(declareElem); } } class Rect extends Public{ constructor(){ super(); } rect(){ const {x,y,color} = this; const contentElem = document.getElementById('content'); let declareElem = document.createElement('div'); declareElem.className = 'rect'; declareElem.style.width = `${this.randomR(20,30)}px`; declareElem.style.height = `${this.randomR(20,30)}px`; declareElem.style.background = color; declareElem.style.top = `${y}px`; declareElem.style.left = `${x}px`; contentElem.appendChild(declareElem); } } document.getElementById('createCircle').onclick = () => { new Circle().circle(); } document.getElementById('createRect').onclick = () => { new Rect().rect(); }</script></html>

2、鼠標拖動版本(矩形版本類似)

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>鼠標拖動版本</title></head><style> *{ margin: 0;padding: 0; } html,body,.box{ width: 100%;height: 100%; } #content{ background: #f5f5f5; } .circle{ border-radius: 50%;position: absolute; }</style><body> <div class='box'></div></body><script> class Public{ constructor(x,y){ this.x = x; this.y = y; this.color = this.randomColor(); this.r = this.randomR(10,20); } randomR(min,max){//指定范圍內的隨機半徑 return parseInt(Math.random() * (max - min) + min); } randomColor(){//隨機顏色 let rgba = `rgba(${this.randomR(0,255)},${this.randomR(0,255)},${this.randomR(0,255)},1)`; return rgba; } } class Circle extends Public{ constructor(x,y){ super(x,y); } circle(){ const {r,x,y,color} = this; const contentElem = document.getElementById('content'); let declareElem = document.createElement('div'); declareElem.className = 'circle'; declareElem.style.width = `${r * 2}px`; declareElem.style.height = `${r * 2}px`; declareElem.style.background = color; declareElem.style.top = `${y}px`; declareElem.style.left = `${x}px`; contentElem.appendChild(declareElem); setTimeout(() => { declareElem.remove(); },100); } } document.getElementById('content').onmousemove = (e) => { const {clientX,clientY} = e || window.event; new Circle(clientX,clientY).circle(); }</script></html>

3、canvas版本

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title> <style> #canvas{margin: 0 auto;background: #000;box-shadow: 0 0 10px #000;} </style></head><body> <canvas id='canvas'></canvas></body><script> var _={ random:function(start,stop){ return parseInt(Math.random()*(stop-start)+start); } } window.onload=function(){ const canvas=document.getElementById('canvas'); const ctx=canvas.getContext('2d'); canvas.width='1000'; canvas.height='600'; class ball{ constructor(x,y,color){ this.x=x; this.y=y; this.r=40; this.color=color; } render(){ ctx.save(); ctx.beginPath(); ctx.arc(this.x,this.y,this.r,0,Math.PI*2); ctx.fillStyle=this.color; ctx.fill(); ctx.restore(); } } class moveBall extends ball{ constructor(x,y,color){ super(x,y,color); this.dx=_.random(-5,5); this.dy=_.random(-5,5); this.dr=_.random(1,3); } updated(){ this.x+=this.dx; this.y+=this.dy; this.r-=this.dr; if(this.r<=0){ this.r=0; } } } let BallArr=[]; let Color=['red','green','blue','white','orange']; canvas.addEventListener('mousemove',function(e){ let Ball=new moveBall(e.offsetX,e.offsetY,Color[_.random(0,Color.length-1)]); BallArr.push(Ball); }); setInterval(()=>{ ctx.clearRect(0,0,canvas.width,canvas.height); for(let i=0;i<BallArr.length;i++){ BallArr[i].render(); BallArr[i].updated(); } },50); }</script></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品22p| 国产a亚洲精品| 香蕉精品视频在线观看| av在线最新| 久久久久久色 | 国产毛片一区二区三区| 日韩高清国产一区在线| 欧美亚洲二区| 国产精品视频一区二区三区综合| 久久最新视频| 日韩精品免费视频人成 | 中文字幕成人| 日本中文字幕一区二区视频| 日韩成人午夜精品| 国产欧美日韩一区二区三区四区| 国产乱子精品一区二区在线观看 | 婷婷亚洲五月| 亚洲尤物在线| 亚洲色图国产| 超级白嫩亚洲国产第一| 国产一区二区三区黄网站 | 啪啪亚洲精品| 欧美激情福利| 日韩中文在线电影| 日韩视频一区二区三区在线播放免费观看| 在线亚洲免费| 免费看欧美美女黄的网站| 日本一区中文字幕| 国产精品白浆| 免费看av不卡| 免费精品视频最新在线| 麻豆国产精品| 亚洲高清久久| 四虎精品永久免费| 国产中文字幕一区二区三区| 欧美午夜精品一区二区三区电影| 日韩专区欧美专区| 国产精品免费99久久久| 久久激情婷婷| 97精品久久| 亚洲福利一区| 日韩精品1区2区3区| 国产成人久久精品麻豆二区| 亚洲精品极品少妇16p| 欧美日韩亚洲国产精品| 久久精品一区二区不卡| 日韩不卡一区二区| 亚洲综合电影| 亚洲v天堂v手机在线| 国产一区二区三区四区大秀| 日韩午夜在线| 国产精品久久久久久久久久齐齐 | aa亚洲婷婷| 日韩精选在线| 久久九九电影| 欧美日韩亚洲三区| 激情五月综合网| 麻豆国产欧美日韩综合精品二区| 91久久久精品国产| 精品国内亚洲2022精品成人| 夜夜嗨一区二区| 久久99青青| 亚洲欧美日韩国产一区| 国产精品久久久久久久免费观看 | 欧美在线资源| 久久精品天堂| 亚洲tv在线| 欧美肉体xxxx裸体137大胆| 国产精品美女在线观看直播| 亚洲尤物在线| 日韩在线第七页| 国产精品日本一区二区三区在线| 尤物在线精品| 日韩欧美精品综合| 国产精区一区二区| 国产视频一区在线观看一区免费| 国产免费播放一区二区| 国产麻豆综合| 99久久精品网站| 精品视频久久| 日本久久一区| 国产视频欧美| 激情综合自拍| 在线看片福利| 精品国产乱码久久久| 日本午夜精品一区二区三区电影 | 国产精品任我爽爆在线播放 | 日韩国产欧美在线视频| 女人av一区| 97se综合| 久久精品日韩欧美| 青草国产精品| 亚洲精品欧美| 国产视频亚洲| 亚洲国产专区| 黄色在线网站噜噜噜| 国产欧美一区二区三区国产幕精品 | 欧产日产国产精品视频| 久久狠狠久久| 日韩高清欧美激情| 亚洲香蕉视频| 每日更新成人在线视频| 欧美日韩日本国产亚洲在线| 日韩精品免费一区二区三区| 国产精品99一区二区三| 国产精品观看| 国产乱码精品一区二区三区四区 | 国产综合色产| 88xx成人免费观看视频库| 91日韩欧美| 国产一区二区三区不卡av| 免费在线观看一区| 国产福利亚洲| 麻豆国产91在线播放| 九九色在线视频| 欧美日韩激情| 久久在线免费| 欧美激情精品| 免费在线日韩av| 久久久久97| 久久精品国产精品亚洲毛片| 国产精品多人| 久久a爱视频| 欧美国产视频| 精品久久久久中文字幕小说| 欧美激情日韩| 成人国产精品一区二区网站| 日本激情一区| 手机在线电影一区| 免费看av不卡| av一区二区高清| 国产模特精品视频久久久久| 日韩午夜在线| 亚洲网址在线观看| 日韩精品成人在线观看| 国产精品一区二区中文字幕| 麻豆久久久久久| av资源亚洲| 日韩午夜精品| 日本不卡高清| 麻豆中文一区二区| 成人va天堂| 久久香蕉精品| 国产精品任我爽爆在线播放| 黄毛片在线观看| 亚洲激情国产| 偷拍亚洲精品| 国产精品一区二区三区四区在线观看 | 国产精品17p| 精品美女在线视频| 欧美成人基地| 黄色日韩在线| 日韩国产欧美三级| 精品美女在线视频| 久久要要av| 亚洲精品影视| 久久成人福利| 日本欧美不卡| 一区二区三区午夜视频| 欧美a一区二区| 国产精品av久久久久久麻豆网| 亚洲在线电影| 国产精品大片免费观看| 成人啊v在线| 亚洲另类黄色| 国内在线观看一区二区三区| 免费av一区| 日韩欧美四区| 日韩欧美在线中字| 伊人久久亚洲| 久久一区精品| 在线亚洲激情| 国产高清亚洲| 伊人久久成人| 美女高潮久久久| 国产亚洲精品自拍| 久久99偷拍| 亚洲一区网站| 精品国产乱码久久久久久樱花 | 日韩精品三区四区| 国产精品成人一区二区不卡| 天使萌一区二区三区免费观看| 国产免费av一区二区三区| 99久久亚洲精品| 亚洲2区在线| bbw在线视频| 日本中文字幕一区二区| 亚洲最新无码中文字幕久久| 热久久免费视频| 黄色在线观看www| 日韩不卡一区二区三区| 亚洲午夜黄色| 蜜桃久久久久| 四虎精品永久免费| 婷婷激情久久| 国内精品亚洲| 日韩精品电影一区亚洲| 亚州av乱码久久精品蜜桃| 国产福利一区二区精品秒拍 | 蜜桃av一区|