Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
New York City Subway
Toggle 3D
css
* { box-sizing: border-box; } html, body, #map, #wrap { height: 100%; width: 100%; margin: 0; background: #111; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } h1 { color: white; width: 100%; text-transform: uppercase; font-weight: 200; letter-spacing: 0.8em; text-align: center; font-size: 2em; margin: 0; } #wrap, #map { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; position: relative; overflow: hidden; padding: 1em; } svg { position: absolute; } .three-D { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: translate(0%, 0%) rotateX(-60deg) rotateY(0deg) rotateZ(-10deg) scale(2); transform: translate(0%, 0%) rotateX(-60deg) rotateY(0deg) rotateZ(-10deg) scale(2); } path, polyline { stroke-linecap: round; stroke-linejoin: round; stroke-width: 1; } #front path, #front polyline { stroke-width: 15; } .green path { stroke: #4caf50; } .lime path { stroke: #76ff03; } .brown path { stroke: #795548; } .orange path { stroke: #ff5722; } .blue path { stroke: #2196f3; } .navy path { stroke: #3f51b5; } .yellow path { stroke: #ffeb3b; } .purple path { stroke: #651fff; } .red path { stroke: #f44336; } .gray path { stroke: #607d8b; } #toggle { position: fixed; right: 5%; bottom: 5%; color: #777; padding: 10px; border-radius: 10px; cursor: pointer; border: 1px solid #111; } #toggle:hover { border: 1px solid #fff; color: #fff; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
JavaScript
// Duplicate the transit lines const container = document.getElementById('map') const svgBack = document.getElementById('back'); const svgFront = svgBack.cloneNode(true); svgFront.setAttribute('id', 'front'); container.appendChild(svgFront); // Obtain all transit line paths + polylines let paths = document.querySelectorAll('#front path, #front polyline'); paths = Array.prototype.slice.call(paths); let style = ``; const CAR_SIZE = 10; paths.forEach((path,i) => { path.setAttribute('id', 'path-' + i); const length = path.getTotalLength(); const speed = length/100; style += ` #path-${i} { stroke-dasharray: ${CAR_SIZE}, ${length/2}; stroke-dashoffset: ${length}; animation: dash-${i} ${speed}s linear alternate infinite; } @keyframes dash-${i} { from { stroke-dashoffset: ${length}; } to { stroke-dashoffset: 0; } }` }); const sheet = document.createElement('style'); sheet.innerHTML = style; document.body.appendChild(sheet); function toggle3D(e) { svgFront.classList.toggle('three-D'); svgBack.classList.toggle('three-D'); }
粒子
时间
文字
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号