js實(shí)現(xiàn)可愛的氣泡特效
本文實(shí)例為大家分享了js實(shí)現(xiàn)可愛的氣泡特效的具體代碼,供大家參考,具體內(nèi)容如下
代碼:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title></head><body> <canvas id='myCanvas'></canvas> <script> var c = document.getElementById('myCanvas'); c.width = 300; c.height = 500; var ctx = c.getContext(’2d’); var arr = [] function sui() { var r = Math.floor(Math.random() * 6 + 5); var x = Math.floor(Math.random() * (c.width - 2 * r)) + r; var y = c.height - r; var opacity = Math.random(); var red = Math.floor(Math.random() * 256); var green = Math.floor(Math.random() * 256); var blue = Math.floor(Math.random() * 256); var deg = 0; var scale = Math.floor(Math.random() * 6 + 10); arr.push({x,y,r,red,green,blue,opacity,deg,scale }) } setInterval(sui, 40); // 再實(shí)現(xiàn)變大和繪制 function dan() { ctx.clearRect(0, 0, c.width, c.height); arr.forEach((item, i) => {item.deg += 0.5;item.y -= item.deg;item.x += Math.sin(item.deg) * item.scale;if (item.y <= item.r) { arr.splice(i, 1);} else { ctx.beginPath(); ctx.arc(item.x, item.y, item.r, 0, Math.PI * 2); ctx.fillStyle = `rgba(${item.red},${item.green},${item.blue},${item.opacity})`; ctx.fill();} }) } setInterval(dan, 100); </script></body></html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android 7.0 運(yùn)行時(shí)權(quán)限彈窗問題的解決2. 解決idea中yml文件不識別的問題3. IDEA的Mybatis Generator駝峰配置問題4. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟5. IntelliJ Idea2017如何修改緩存文件的路徑6. java實(shí)現(xiàn)圖形化界面計(jì)算器7. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考8. Thinkphp3.2.3反序列化漏洞實(shí)例分析9. python 爬取B站原視頻的實(shí)例代碼10. Thinkphp5文件包含漏洞解析
