Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
* { padding:0; margin:0; } html,body { position:relative; width:100%; height:100%; } body { background:#eee; } canvas { background:black; display:block; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
JavaScript
;(function(main) { main(); })(function() { 'use strict'; var c = document.getElementById('c'); var ctx = c.getContext('2d'); var WIDTH = c.width = window.innerWidth; var HEIGHT = c.height = window.innerHeight; var mouse = { x: WIDTH / 2, y: HEIGHT / 2 }; var Blob = function(x, y, r, color) { this.x = x; this.y = y; this.vx = 0; this.vy = 0; this.easex = 0.01 + Math.random() * 0.09; this.easey = 0.01 + Math.random() * 0.09; this.r = r; this.color = color; }; Blob.prototype = { constructor: Blob, update: function(target) { this.vx += (target.x - this.x) * this.easex; this.vy += (target.y - this.y) * this.easey; this.vx *= 0.89; this.vy *= 0.89; this.x += this.vx; this.y += this.vy; this.color += 1; }, renderStroke: function(ctx) { ctx.save(); ctx.fillStyle = 'hsla(' + this.color + ', 100%, 50%, 1)'; ctx.translate(this.x, this.y); ctx.beginPath(); ctx.arc(0, 0, this.r, 0, Math.PI * 2); ctx.fill(); ctx.restore(); }, renderFill: function(ctx) { ctx.save(); ctx.fillStyle = 'white'; ctx.translate(this.x, this.y); ctx.beginPath(); ctx.arc(0, 0, this.r * 0.8, 0, Math.PI * 2); ctx.fill(); ctx.restore(); } }; var blobCount = 50; var blobList = []; var blob = null; var color = Math.random() * 360; for (var i = 0; i < blobCount; i++) { blob = new Blob( WIDTH * Math.random(), HEIGHT * Math.random(), 5 + Math.random() * 50, color ); blobList.push(blob); } c.addEventListener('mousemove', function(e) { var rect = c.getBoundingClientRect(); mouse.x = e.clientX - rect.left; mouse.y = e.clientY - rect.top; }); requestAnimationFrame(function loop() { requestAnimationFrame(loop); ctx.clearRect(0, 0, WIDTH, HEIGHT); for (var i = 0; i < blobCount; i++) { blob = blobList[i]; blob.update(mouse); blob.renderStroke(ctx); } for (var j = 0; j < blobCount; j++) { blob = blobList[j]; blob.renderFill(ctx); } }); });
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>鼠标跟随-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号