Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
/*Layout*/ body { background-image: url("data:image/svg+xml;utf8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='5' height='5' style='background%2Dcolor:hsl(31,100%,56%);'%3E%3Cline x2='5' y2='5' stroke='hsl(40,100%,68%)' /%3E%3C/svg%3E"); } svg { width: 150px; overflow: visible; pointer-events:none; } .a { display: grid; grid-template-columns: 217px; grid-template-rows: 115px; } .b { display: grid; width: 415px; height: 265px; grid-template-columns: repeat(3, 132px); grid-template-rows: 115px; position: absolute; margin: auto; top: 0; bottom: 0; left: 0; right: 0; } svg { display: block; justify-self: start; } svg:nth-of-type(2) { justify-self: end; } /*SVG*/ #root { position: absolute; width: 1px; left: -100em; } svg * { } .theHex { pointer-events: all; } #theHex { stroke: #522814; stroke-width: 5px; } use { transition: transform 0.3s ease-out; } .use_lb { transform-origin: 47px 101px; } .use_lt { transform-origin: 44px 96px; } .use_rb { transform-origin: 105px 101px; } .use_rt { transform-origin: 108px 96px; } .use_eyes { transform-origin: 104px 76px; } .theHex ~ use { pointer-events: none; } .theHex:hover ~ .use_lb, .theHex:hover ~ .use_lt { transform: rotate(25deg); } .theHex:hover ~ .use_rb, .theHex:hover ~ .use_rt { transform: rotate(-25deg); } .theHex:hover ~ .use_eyes { transform: scaleY(0.5); } #snout, #ears, #wiskers, #eyes { fill: #522814; } .tongue { fill: hsla(0,100%,50%,.5); }
JavaScript
let rid = null; let cats = []; let colors = ["#ffca5e", "#ffae3e", "#ff8b2a"]; class Path { constructor(path) { this.memory = [1, 10]; this.target = this.memory[0]; this.value = this.memory[1]; this.path = path; } updatePath() { this.path.setAttributeNS( null, "d", `M75 97H65A5,${this.value} 0 0 0 85,97z` ); } updateValue() { let dist = this.target - this.value; let vel = dist / 10; this.value += vel; } } let svgs = Array.from(document.querySelectorAll("svg.used")); svgs.forEach(svg => { let tongue = svg.querySelector(".tongue"); let hex = svg.querySelector(".theHex"); let p = new Path(tongue); cats.push(p); hex.addEventListener("mouseover", () => { p.target = p.memory[1]; p.memory.reverse(); }); hex.addEventListener("mouseleave", () => { p.target = p.memory[1]; p.memory.reverse(); }); }); function Frame() { rid = window.requestAnimationFrame(Frame); cats.forEach(p => { p.updateValue(); p.updatePath(); }); } Frame();
粒子
时间
文字
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号