javascript - SVG Raphael jQuery 构建路径/轨迹

标签 javascript jquery svg raphael

如果我有一个像这样的动画圈 example , 有没有一种方法可以在 Canvas 上留下 1px 纯白色的永久痕迹?

我试过动态构建路径,但无法让它工作。

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

最佳答案

我不知道为什么 SVG 与其乡土表亲 canvas 元素相比名声如此糟糕。令人惊讶的是,在认真尝试探索 SVG 的功能之前,有多少次 SVG 被认为是不充分或不合适的。

请看this fiddle .

其中大部分是由路径上移动点的动态评估驱动的,如下所示:

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 canvas 解决方案。如果您计划向此小部件添加任何交互性,请在您评估经济性时考虑 SVG 中的事件绑定(bind)有多容易。

关于javascript - SVG Raphael jQuery 构建路径/轨迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211383/

相关文章:

javascript - 直接在WebView或MapView中使用Google Maps JavaScript API?优点和缺点?

javascript - Jasmine /JavaScript : Test that a new object was created

javascript - 粘性页脚 + 100% 高度 + 它们之间的边距

javascript - hover li 和第二个 li 元素

javascript - 滚动线动画 - HTML、CSS、JS

javascript - 在 svg 图像上的相对位置显示元素

Javascript:如何调整我的去抖功能以采用 IF 条件?

javascript - 使用单选按钮触发操作

javascript - 将csv数据转换成数组格式

javascript - 如何根据度数改变圆的颜色