Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
body, html { position: absolute; margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: #33ccff; touch-action: none; } svg { position: absolute; width: 100%; height: 100%; background: #1f1c54; cursor: pointer; filter:sepia(20%); }
JavaScript
"use strict"; // Ported from flash // credits https://www.deviantart.com/gifhaas/art/Dragon-8681899 dragon by GifHaas on DeviantArt const screen = document.getElementById("screen"); const xmlns = "http://www.w3.org/2000/svg"; const xlinkns = "http://www.w3.org/1999/xlink"; window.addEventListener( "pointermove", (e) => { pointer.x = e.clientX; pointer.y = e.clientY; rad = 0; }, false ); const resize = () => { width = window.innerWidth; height = window.innerHeight; }; let width, height; window.addEventListener("resize", () => resize(), false); resize(); const prepend = (use, i) => { const elem = document.createElementNS(xmlns, "use"); elems[i].use = elem; elem.setAttributeNS(xlinkns, "xlink:href", "#" + use); screen.prepend(elem); }; const N = 40; const elems = []; for (let i = 0; i < N; i++) elems[i] = { use: null, x: width / 2, y: 0 }; const pointer = { x: width / 2, y: height / 2 }; const radm = Math.min(pointer.x, pointer.y) - 20; let frm = Math.random(); let rad = 0; for (let i = 1; i < N; i++) { if (i === 1) prepend("Cabeza", i); else if (i === 8 || i === 14) prepend("Aletas", i); else prepend("Espina", i); } const run = () => { requestAnimationFrame(run); let e = elems[0]; const ax = Math.cos(3 * frm) * rad * width / height; const ay = Math.sin(4 * frm) * rad * height / width; e.x += (ax + pointer.x - e.x) / 10; e.y += (ay + pointer.y - e.y) / 10; for (let i = 1; i < N; i++) { let e = elems[i]; let ep = elems[i - 1]; const a = Math.atan2(e.y - ep.y, e.x - ep.x); e.x += (ep.x - e.x + (Math.cos(a) * (100 - i)) / 5) / 4; e.y += (ep.y - e.y + (Math.sin(a) * (100 - i)) / 5) / 4; const s = (162 + 4 * (1 - i)) / 50; e.use.setAttributeNS( null, "transform", `translate(${(ep.x + e.x) / 2},${(ep.y + e.y) / 2}) rotate(${ (180 / Math.PI) * a }) translate(${0},${0}) scale(${s},${s})` ); } if (rad < radm) rad++; frm += 0.003; if (rad > 60) { pointer.x += (width / 2 - pointer.x) * 0.05; pointer.y += (height / 2 - pointer.y) * 0.05; } }; run();
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>svg鼠标跟随龙-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号