animation - 如何反转SVG中的动画线

标签 animation canvas svg

我对 SVG 文件几乎一无所知,但必须使用一个来绘制一条线来指示路线(我对 Canvas 的了解不够,无法选择)。

我找到了一些例子并设法实现了我所追求的目标,但事实证明该线需要从右向左移动。

我从 Illustrator 导出了路径,但不知道如何反转它们。有没有办法可以反转动画?

这是文件:http://jdfv.nl/route.svg

最佳答案

这是一种方法:
http://jsfiddle.net/VTp4D/

SVG文件的相关部分:

<path id="busTrack2" ...>
  <animate id="dashAnim2" attributeName="stroke-dashoffset" from="0" 
   to="0" dur="10s" begin="0" fill="freeze" keySplines="0 0.5 0.5 1" 
   calcMode="spline"/>
</path>

Javascript代码:
var busTrack = document.getElementById('busTrack2');
var busTrackAnim = document.getElementById('dashAnim2');
var trackLength = busTrack.getTotalLength().toString();
busTrack.setAttribute('stroke-dasharray',trackLength+','+trackLength);
// forward: 
// busTrackAnim.setAttribute('values',trackLength+';0');
// backward:
busTrackAnim.setAttribute('values','-'+trackLength+';0');

关于animation - 如何反转SVG中的动画线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11417541/

相关文章:

ios - 在 iPhone 上制作翻页动画(如杂志)

javascript - 动画 SVG + 跨浏览器兼容性

javascript - 如何计算动态 Canvas 上文本对象的边界框

javascript - 在react app上使用d3js的call函数

javascript - ".on"函数的顺序在 D3 中重要吗?

javascript - 如何通过在 svg 中开始一个新循环来停止以前的动画

jquery - 滑动动画只有一个div

javascript - 如何在 Google map 中的方向变化之间实现平滑过渡?

javascript - 如何使用fabric js一一选择 Canvas 上的所有对象?

javascript - 如何将html5 Canvas 保存到服务器