Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SVG Raphael jQuery构建路径/路径_Javascript_Jquery_Svg_Raphael - Fatal编程技术网

Javascript SVG Raphael jQuery构建路径/路径

Javascript SVG Raphael jQuery构建路径/路径,javascript,jquery,svg,raphael,Javascript,Jquery,Svg,Raphael,如果我有一个像这样的动画圈,有没有一种方法可以让它在画布上留下一条1px纯白的永久轨迹 我已尝试动态构建路径,但无法使其正常工作 提前感谢,如果您有任何帮助,我们将不胜感激。您可以这样做: 编辑:我说过,如果示例中的圆不是直线移动的,那么这将不起作用,如果您想为随机移动做这类事情,SVG将是不够的(但另一方面,画布将是理想的)。Zero在他的回答中证明了我的错误,我所写的被认为是对SVG的批评——离我很远!SVG太棒了。您可以这样做: 编辑:我说过,如果示例中的圆不是直线移动的,那么这将不起作用

如果我有一个像这样的动画圈,有没有一种方法可以让它在画布上留下一条1px纯白的永久轨迹

我已尝试动态构建路径,但无法使其正常工作


提前感谢,如果您有任何帮助,我们将不胜感激。

您可以这样做:


编辑:我说过,如果示例中的圆不是直线移动的,那么这将不起作用,如果您想为随机移动做这类事情,SVG将是不够的(但另一方面,画布将是理想的)。Zero在他的回答中证明了我的错误,我所写的被认为是对SVG的批评——离我很远!SVG太棒了。

您可以这样做:


编辑:我说过,如果示例中的圆不是直线移动的,那么这将不起作用,如果您想为随机移动做这类事情,SVG将是不够的(但另一方面,画布将是理想的)。Zero在他的回答中证明了我的错误,我所写的被认为是对SVG的批评——离我很远!SVG真是太棒了。

我不知道为什么SVG与它的乡村表亲canvas元素相比会受到如此糟糕的评价。令人惊讶的是,在认真尝试探索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;    
}

我向任何人挑战,用HTML画布找到一个比这更经济的解决方案。如果你打算在这个小部件中增加任何交互性,请考虑在经济评价中SVG的事件绑定是多么简单。

< P>我不知道SVG为什么比它的国家表兄弟,画布元素得到这么糟糕的RAP。令人惊讶的是,在认真尝试探索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;    
}

我向任何人挑战,用HTML画布找到一个比这更经济的解决方案。如果你打算在这个小部件中增加任何交互性,请考虑在经济评价中SVG的事件绑定是多么简单。

我不认为“它不起作用,所以你应该尝试其他东西”真的是一个答案,特别是当断言是不正确的。好吧,你的小提琴石,你赢了!我并不是要讨论SVG,但我的意思是,有了SVG,轨迹越长、越复杂,SVG图形就越复杂,很快就会达到极限。然而,使用画布的方法,你可以永远继续下去(你只需要画一个新的片段并进行迭代)。你当然是对的,有些地方你绝对不能去。但我一直对它能做什么感到惊讶,而且使用拉斐尔时,它能如此轻松。只是想得到它应得的!我不认为“它不起作用,所以你应该尝试其他东西”真的构成了一个答案,特别是当断言不正确时。好吧,你的小提琴摇滚,你赢了!我并不是要讨论SVG,但我的意思是,有了SVG,轨迹越长、越复杂,SVG图形就越复杂,很快就会达到极限。然而,使用画布的方法,你可以永远继续下去(你只需要画一个新的片段并进行迭代)。你当然是对的,有些地方你绝对不能去。但我一直对它能做什么感到惊讶,而且使用拉斐尔时,它能如此轻松。只是想得到它应得的+我也经历过对SVG的过度仇恨/无知。它被低估了。很好的例子,我喜欢SVG+我也经历过对SVG的过度仇恨/无知。它被低估了。很好的例子,我喜欢SVG!