Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
* { box-sizing: border-box; margin: 0; padding: 0; } body{ background-color: aqua; } .container { height: 100%; overflow: hidden; position: absolute; width: 100%; }
JavaScript
const canvas = document.querySelector("canvas"); let ctx = canvas.getContext("2d"); var mouse = { x: innerWidth / 2, y: innerHeight / 2 }; class Arrow { constructor(x, y, radius) { this.x = x; this.y = y; this.radius = radius; } draw() { const center = { x: this.x, y: this.y }; const xDist = this.x - mouse.x; const yDist = this.y - mouse.y; const distance = Math.sqrt(Math.pow(xDist, 2) + Math.pow(yDist, 2)); let radius = this.radius / 3 + this.radius * distance / 600; if (radius < this.radius) { radius = this.radius; } let angle, x, y; ctx.beginPath(); angle = Math.atan2(yDist, xDist) - 90; x = radius * Math.cos(angle) + center.x; y = radius * Math.sin(angle) + center.y; ctx.moveTo(x, y); nextPoint(); ctx.lineTo(x, y); nextPoint(); ctx.lineWidth = 1 + distance / 600 * 4; ctx.stroke(); function nextPoint() { angle += 1 / 3 * (2 * Math.PI); x = radius * Math.cos(angle) + center.x; y = radius * Math.sin(angle) + center.y; ctx.lineTo(x, y); } } update() { this.draw(); }} let arrows; function init() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; arrows = []; for (var x = 0; x <= canvas.width + 40; x += 40) { for (var y = 0; y <= canvas.height + 40; y += 40) { arrows.push(new Arrow(x, y, -20)); } } } // Animation Loop function animate() { ctx.clearRect(0, 0, canvas.width, canvas.height); arrows.forEach(Arrow => { Arrow.update(); }); requestAnimationFrame(animate); } init(); animate(); // Event Listeners addEventListener("mousemove", function (event) { mouse.x = event.clientX; mouse.y = event.clientY; }); addEventListener("resize", function () { canvas.width = innerWidth; canvas.height = innerHeight; init(); }); document.addEventListener("touchstart", function (e) { e.preventDefault(); mouse.x = e.targetTouches[0].clientX; mouse.y = e.targetTouches[0].clientY; }); document.addEventListener("touchmove", function (e) { e.preventDefault(); mouse.x = e.targetTouches[0].clientX; mouse.y = e.targetTouches[0].clientY; });
粒子
时间
文字
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号