jac*_*per 1 javascript jquery svg raphael
如果我有一个像这个例子中的动画圆圈,有没有一种方法可以在画布上留下1px纯白色的永久痕迹?
我尝试过动态构建路径,但无法使其工作.
在此先感谢,任何帮助将不胜感激
我不知道为什么SVG与它的国家表亲,画布元素相比,得到了如此糟糕的说唱.令人惊讶的是,在进行任何认真尝试探索其功能之前,SVG被解雇的次数不足或不合适.
请看看这个小提琴.
其中大部分是通过动态评估路径上的移动点来实现的,如下所示:
function arrowline( canvas, pathstr, duration, attr, callback )
{
var guide_path = canvas.path( pathstr ).attr( { stroke: "none", fill: "none" } );
var path = canvas.path( guide_path.getSubpath( 0, 1 ) ).attr( attr );
var total_length = guide_path.getTotalLength( guide_path );
var start_time = new Date().getTime();
var interval_length = 25;
var interval_id = setInterval( function()
{
var elapsed_time = new Date().getTime() - start_time;
var this_length = elapsed_time / duration * total_length;
var subpathstr = guide_path.getSubpath( 0, this_length );
attr.path = subpathstr;
path.animate( attr, interval_length );
if ( elapsed_time >= duration )
{
clearInterval( interval_id );
if ( callback != undefined ) callback();
}
}, interval_length );
return path;
}
Run Code Online (Sandbox Code Playgroud)
我挑战任何人找到一个比这更经济的HTML画布解决方案.如果您计划为此窗口小部件添加任何交互性,请考虑在您的经济评估中SVG中的事件绑定是否容易.