Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
canvas, body{ padding: 0; margin: 0; overflow: hidden; }
JavaScript
var width, height var step = 0; var canvas = document.createElement('canvas') var ctx = canvas.getContext('2d') var bg = [35, 36, 37] // mouse coordinates function Mouse () { this.x = window.innerWidth / 2 this.y = window.innerHeight / 2 } var mouse = new Mouse() document.onmousemove = function(e){ mouse.x = e.pageX; mouse.y = e.pageY} document.getElementsByTagName('body')[0].appendChild(canvas) window.addEventListener('resize', setup) setup() function setup() { canvas.width = width = window.innerWidth canvas.height = height = window.innerHeight fillCanvas(ctx, bg, 1) } window.requestAnimationFrame(animate); function animate() { fillCanvas(ctx, bg, 1) draw() step++ window.requestAnimationFrame(function(){animate()}) } function Flwr () { this.follow = null this.child = null this.x = mouse.x this.y = mouse.y this.dx = 0 this.dy = 0 this.a = 0.35 this.b = 0.54 this.n = 0 } var flwr, flwrPrev, train = [], i, n = 50; for (i = 0; i < n; i++) { flwr = new Flwr() flwr.n = i if (flwrPrev) { flwr.b = flwrPrev.b + (0.1/n) flwr.follow = flwrPrev flwrPrev.child = flwr } else { flwr.follow = mouse } flwrPrev = flwr train.push(flwr) } function draw () { // update flwrs // console.log(train) for (i in train){ // update position flwr = train[i] var dx = flwr.follow.x - flwr.x var dy = flwr.follow.y - flwr.y flwr.dx = flwr.dx * flwr.a + dx * (1 - flwr.a) flwr.dy = flwr.dy * flwr.a + dy * (1 - flwr.a) flwr.x = flwr.dx * flwr.b + flwr.x flwr.y = flwr.dy * flwr.b + flwr.y // draw // ctx.beginPath(); // drawCircle(ctx, flwr.x, flwr.y, 2) // ctx.fillStyle = '#FFF547' // ctx.fill() if (flwr.follow !== mouse) { ctx.beginPath(); ctx.strokeStyle = '#00fcff' ctx.lineCap = 'round' ctx.lineWidth = (n-flwr.n)/n * 8 + 2 ctx.moveTo(flwr.x,flwr.y); ctx.lineTo(flwr.follow.x,flwr.follow.y); ctx.stroke(); } } } function drawCircle (context, x, y, r) { context.arc(x ,y , r, 0, 2*Math.PI); } function fillCanvas (context, color, alpha) { context.rect(0, 0, this.width, this.height) context.fillStyle = `rgba(${color[0]}, ${color[1]}, ${color[2]}, ${alpha})` context.fill() }
粒子
时间
文字
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号