站长资源网络编程

使用JS实现气泡跟随鼠标移动的动画效果

整理:jimmy2026/8/1浏览2
简介气泡跟随鼠标移动,并在每次点击时产生不同的变化效果如下简单的气泡效果</div> <div class="news_infos"><div id="MyContent"><p>气泡跟随鼠标移动,并在每次点击时产生不同的变化</p> <p>效果如下</p> <p><a href="javascript:;" onclick="showimg('/UploadFiles/2021-04-02/201709160847001.png');"><img src="/UploadFiles/2021-04-02/201709160847001.png" alt="使用JS实现气泡跟随鼠标移动的动画效果" onmousewheel="return bbimg(this)" onload="javascript:resizepic(this)" border="0"/></a></p> <div class="htmlcode"> <pre class="brush:js;"> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> 简单的气泡效果 </title> <style type="text/css"> body{background-color:#000000;margin:0px;overflow:hidden} </style> </head> <body> </body> </html> <script> var canvas = document.createElement('canvas'), context = canvas.getContext('2d'), windowW = window.screen.width , windowH = window.screen.height , Mx, My, paused = true; suzu = []; booms = []; boomks = []; start(); canvas.onmousemove = function(e) { var loc = canvasMove(e.clientX, e.clientY); Mx = loc.x; My = loc.y }; canvas.onmousedown = function() { creatarry(Mx, My); paused = !paused }; function creatarry(a, b) { for (var i = 0; i < 40; ++i) { booms[i] = { x: a, y: b, gravity: 0.3, speedX: Math.random() * 20 - 10, speedY: Math.random() * 15 - 7, radius: Math.random() * 15, color: Math.random() * 360, apc: 0.6 }; boomks.push(booms[i]); if (boomks.length > 300) { boomks.shift() }; console.log(boomks) } }; function loop1() { boomks.forEach(function(circle) { context.beginPath(); context.arc(circle.x, circle.y, circle.radius, 0, Math.PI * 2, false); context.fillStyle = 'hsla(' + circle.color + ',100%,60%,' + circle.apc + ')'; context.fill(); movecircles(circle) }) } function movecircles(circle) { circle.x += circle.speedX; circle.speedY += circle.gravity; circle.y += circle.speedY; circle.apc -= 0.008 } function canvasMove(x, y) { var bbox = canvas.getBoundingClientRect(); return { x: x - bbox.left * (canvas.width / bbox.width), y: y - bbox.top * (canvas.height / bbox.height) } }; function start() { document.body.appendChild(canvas); canvas.width = windowW; canvas.height = windowH; setInterval(fang, 25) } function fang() { context.clearRect(0, 0, canvas.width, canvas.height); loop1(); loop() } function loop() { var circle = new createCircle(Mx, My); suzu.push(circle); for (i = 0; i < suzu.length; i++) { var ss = suzu[i]; ss.render(context); ss.update() } if (suzu.length > 1000) { suzu.shift() } } function createCircle(x, y) { this.x = x; this.y = y; this.color = Math.random() * 360; this.radius = Math.random() * 25; this.xVel = Math.random() * 5 - 2; this.apc = 0.6; this.gravity = 0.07; this.yVel = Math.random() * 10 - 3; this.render = function(c) { c.beginPath(); c.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true); c.fillStyle = 'hsla(' + this.color + ',100%,60%,' + this.apc + ')'; c.fill() }; this.update = function() { if (!paused) { this.yVel += this.gravity; this.y += this.yVel } else { this.y -= 5 } this.x += this.xVel; this.apc -= 0.01; if (this.radius > 1) { this.radius -= 0.4 } } }<br> </script></pre> </div> <p>总结<br> </p> <p>以上所述是小编给大家带来了使用JS实现气泡跟随鼠标移动的动画效果 ,希望对大家有所帮助!</p></div> </div> </div> <div class="share"> </div> <div class="nextinfo"> <p>上一篇:<a href="/3g/1/95963.html" title="Angular使用Md5加密的解决方法">Angular使用Md5加密的解决方法</a></p> <p>下一篇:<a href="/3g/1/95965.html" title="EasyUI创建人员树的实例代码">EasyUI创建人员树的实例代码</a></p> </div> <div class="otherlink"> <h2>最新资源</h2> <ul> <li><a href="/3g/1/623703.html" title="群星《奔赴!万人现场 第2期》[FLAC/分轨]">群星《奔赴!万人现场 第2期》[FLAC/分轨]</a></li> <li><a href="/3g/1/623702.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623701.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623700.html" title="【古典音乐】詹姆斯·高威《季节》1993[WA">【古典音乐】詹姆斯·高威《季节》1993[WA</a></li> <li><a href="/3g/1/623699.html" title="贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]">贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]</a></li> <li><a href="/3g/1/623698.html" title="小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE">小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE</a></li> <li><a href="/3g/1/623697.html" title="群星《欢迎来到我身边 电影原声专辑》[32">群星《欢迎来到我身边 电影原声专辑》[32</a></li> <li><a href="/3g/1/623696.html" title="群星《欢迎来到我身边 电影原声专辑》[FL">群星《欢迎来到我身边 电影原声专辑》[FL</a></li> <li><a href="/3g/1/623695.html" title="雷婷《梦里蓝天HQⅡ》 2023头版限量编号低">雷婷《梦里蓝天HQⅡ》 2023头版限量编号低</a></li> <li><a href="/3g/1/623694.html" title="群星《2024好听新歌42》AI调整音效【WAV分">群星《2024好听新歌42》AI调整音效【WAV分</a></li> </ul> </div> </div> <div class="sidebar"> <div class="cloud"><h2 class="hometitle">一句话新闻</h2><a href="/3G/1/604673.html"><ul>微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键<br><br>几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。<br>在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。</ul></a></div> </div> <div class="sidebar"> 友情链接:<a href="http://www.imxmx.com/" title="杰晶网络" target="_blank">杰晶网络</a> <a href="/" title="DDR爱好者之家" target="_blank">DDR爱好者之家</a> <a href="http://www.nqxw.com/" title="南强小屋" target="_blank">南强小屋</a> <a href="http://www.paidiu.com/" title="黑松山资源网" target="_blank">黑松山资源网</a> <a href="http://www.dyhadc.com/" title="白云城资源网" target="_blank">白云城资源网</a> <a href="/sitemap1.xml">站点地图</a> <a href="/sitemap.xml">SiteMap</a> </div> </article> <footer> <p>Design by <a href="http://m.ddrfans.com">DDR爱好者之家</a> <a href="http://m.ddrfans.com">http://m.ddrfans.com</a></p> </footer> <script src="/images3g/nav.js"></script> <script type="text/javascript"> jQuery.noConflict(); jQuery(function() { var elm = jQuery('#left_flow2'); var startPos = jQuery(elm).offset().top; jQuery.event.add(window, "scroll", function() { var p = jQuery(window).scrollTop(); jQuery(elm).css('position', ((p) > startPos) ? 'fixed' : ''); jQuery(elm).css('top', ((p) > startPos) ? '0' : ''); }); }); </script> </body> </html>