2013-08-28 40 views
2

我使用自定义发现函数绘制路径,以绘制带有动画的标志(使用jquery和Raphael.js)。这个“animateLine”函数是有用的,因为它沿着“矢量”路径绘制考虑FX的svg路径。只有一条路径,这个函数没有问题(可以在演示中找到它)。双动画路径绘制错误,与Raphael.js

function animateLine (canvas, hoverDivName, colorNumber, pathString, duration, destination) 

的问题是,存在某种冲突使用同时函数(在同一时间绘图2路径)时。

你可以在这里看到我的问题在这个小提琴http://jsfiddle.net/VyRDk/2/

我认为这个问题是与临时变量“目的地”的矛盾,但我使用2个不同势全局调用时瓦尔“ AnimateLine”功能(你会发现 “lepathanimated1” 和 “lepathanimated2”)

var lepathanimated1; 
var lepathanimated2; 

这样使用:

animateLine(logo_animated, "canvas", "#1d1d1b", path_circle,1200,lepathanimated1); 

我希望你有足够的信息来也许找到解决办法,如果你需要更多的细节,只是问=)

感谢您的时间

编辑: OMG,我只是找到了解决办法! ! #SoHappy

我刚刚创建的功能之外的路径对象和使用的标识符(#ID),以避免冲突(并用它为jQuery的动画阶跃函数)

你可以找到正确的DEMO HERE

但是我不舒服,这是正确的方式来做到这一点(优化)。不管“RequestAnimFram”如何使用“animate”是否正确?其优点是有拉斐尔& jQuery的一起工作(更容易了JavaScript的画布方式)

无论如何,跳跃它有助于=)

PS:如果它帮助请投了,COS'这是我的第一个计算器问题/回答仍然声誉1 -_-

回答

0

在这里你去DEMO

你不得不调整setTimeout使其开始第一路径绘制之后。

setTimeout(function() 
{ 
    animateLine(logo_animated, "canvas2", "#1d1d1b", 
       path_trait_sup,1200,lepathanimated2); 
},1200); 

好运

+1

我知道,但我需要的图纸是同时(因此动画并不乏味)=) 感谢您试用^^ –

+0

哦,我没看过的部分评论在你的演示。所以我明白你现在的意思。我会看看它,但不能答应答案 – Brian