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

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

js實現隨機圓與矩形功能

瀏覽:203日期: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久久,三上悠亚国产精品一区二区三区
国产亚洲人成a在线v网站| 久久亚州av| 在线一区二区三区视频| 欧美黑人巨大videos精品| 日韩在线视频一区二区三区| 国产综合婷婷| 欧美天堂视频| 国产乱码精品一区二区亚洲| 视频一区二区三区在线| 天堂资源在线亚洲| 亚洲一级二级| 免费不卡中文字幕在线| 欧美综合另类| 狠狠久久伊人中文字幕| 色综合www| 91精品一区二区三区综合| 精品丝袜久久| 欧美不卡在线| 国产精品入口久久| 日本在线成人| 午夜性色一区二区三区免费视频| 99riav1国产精品视频| 亚洲国产一区二区在线观看 | 免费av一区| 欧美国产免费| 日韩一区三区| 色88888久久久久久影院| 亚洲一区二区网站| 麻豆精品久久久| 亚洲视频www| 色88888久久久久久影院| 免费在线观看不卡| 婷婷综合一区| 国产白浆在线免费观看| 91欧美日韩| 日韩综合一区| 91精品一区国产高清在线gif | 免费黄色成人| 综合亚洲视频| 在线视频观看日韩| 免费久久精品| 亚洲精品极品少妇16p| 日韩精品三级| 国产一区二区三区不卡视频网站 | 亚洲69av| 日韩高清欧美| 国产成人久久精品麻豆二区| 久久青青视频| 免费视频久久| 日韩美女精品| 亚洲网址在线观看| 免费观看在线色综合| 日韩精品首页| 免费人成黄页网站在线一区二区| 日韩av午夜在线观看| 蜜芽一区二区三区| 日韩和欧美的一区| 久久精品亚洲| 亚洲综合日韩| 精品亚洲a∨| 久久福利影视| 欧美a级一区二区| 日韩高清成人| av在线日韩| 国产精品网在线观看| 久久久久久久久99精品大| 99热精品久久| 久久亚洲影院| 视频一区欧美日韩| 久久香蕉网站| 日韩av一区二区三区四区| 国产精品毛片久久久| 免费不卡中文字幕在线| 午夜亚洲福利| 一区二区国产精品| 色在线视频观看| 久久精品免费看| 久久精品99国产精品日本| www成人在线视频| 日韩av三区| 日欧美一区二区| 国产亚洲一级| 成人精品亚洲| 日韩成人a**站| 韩日一区二区| 国产极品嫩模在线观看91精品| 亚洲免费影视| 精品视频高潮| 国产精品久久久久蜜臀 | 国产高清不卡| 麻豆传媒一区二区三区| 欧美黑人巨大videos精品| 亚洲精品福利电影| 99xxxx成人网| 精品三级久久| 欧美日韩一二三四| 一区在线免费观看| 黄色日韩精品| 999久久久91| 日本精品国产| 黄色亚洲大片免费在线观看| 亚洲成人国产| 久久av一区| 午夜国产精品视频免费体验区| 欧美日韩亚洲一区在线观看| 亚洲色诱最新| 日韩精品看片| 免费在线日韩av| 日韩毛片一区| 亚洲综合福利| 午夜精品影视国产一区在线麻豆| 精品中文一区| 国产一区二区三区亚洲综合| 中文在线资源| 国产精品精品| 久久久久美女| 久热re这里精品视频在线6| 国产精品嫩草99av在线| 日韩国产高清在线| 国产精品极品在线观看| 国产欧美日韩精品一区二区三区| 成人污污视频| 国产麻豆一区二区三区| 激情欧美一区二区三区| 久久99偷拍| 欧美激情一区| 激情综合网站| 久久99青青| 欧美在线综合| 天使萌一区二区三区免费观看| 精品一区二区三区视频在线播放 | 亚洲人成高清| 精品视频一区二区三区四区五区 | 成人免费一区| 国产v日韩v欧美v| 亚洲精品少妇| 亚洲深夜影院| 中文精品电影| 日韩激情一二三区| 日韩中文字幕区一区有砖一区 | 精品成人18| 国产精品成人3p一区二区三区| 青青草伊人久久| 人人精品亚洲| 韩国女主播一区二区三区| 激情久久久久久| 免费视频一区二区三区在线观看 | 日本伊人午夜精品| 蜜桃成人精品| 久久不见久久见中文字幕免费| 香蕉成人久久| 日韩精品一卡| 国内自拍视频一区二区三区| 久久高清免费观看| 国产一区三区在线播放| 国产日产精品_国产精品毛片| 首页国产欧美久久| 久久影院午夜精品| 中文一区一区三区免费在线观 | 91视频一区| 欧美啪啪一区| 久久国产精品色av免费看| 欧美日韩亚洲一区在线观看| 国产精品伊人| 亚洲精品日本| 精品一区不卡| 国产手机视频一区二区 | 午夜日韩在线| 日韩综合精品| 黄色成人91| 蜜臀久久久久久久| 日本午夜精品视频在线观看| 亚洲男人在线| 国产精品久久久久9999高清| 麻豆免费精品视频| 蜜桃视频一区二区三区| 久久精品亚洲人成影院| 亚洲无线观看| 欧美精品九九| 97国产成人高清在线观看| 久久国产欧美日韩精品| 一区二区高清| 香蕉久久久久久| 免费日韩视频| 亚洲影院天堂中文av色| 天堂成人免费av电影一区| 亚洲欧美激情诱惑| 亚洲精品免费观看| 国产一区 二区| 精品久久久亚洲| 卡一卡二国产精品| 国产精品地址| 国产欧美丝祙| 麻豆国产欧美一区二区三区 | 久久久久久婷| 亚洲成av在线| 亚洲综合欧美| 美女精品久久| 久久九九精品| 日韩精品一区二区三区中文在线|