使用jQuery SVG插件将渐变设置为内联SVG

4

我该如何使用jQuery SVG插件加载这个svg并设置渐变呢?

<div id="test">
    <svg style="transform: none; backface-visibility: hidden; transform-origin: 50% 50% 0px; cursor: move;" width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64">
         <g>
         <path d="M32,2.47c-14.027,0-25.44,10.357-25.44,23.088c0,7.572,4.092,14.662,10.95,18.979c0.255,7.662-2.309,14.418-2.419,14.699 l-0.899,2.295l18.509-12.899c13.647-0.34,24.74-10.677,24.74-23.073C57.44,12.827,46.028,2.47,32,2.47z">
        </path>
         </g>
    </svg>
</div>

这个不起作用,但是为什么?

var svg = $('#test svg').svg('get');                  
svg.linearGradient( $('#test svg'), 
                    'MyGradient', 
                    [ ['5%', '#F60'], ['95%', '#FF6']] );

错误:

TypeError: svg is undefined

我正确地包含了所有的JS文件。

jquery.js
jquery-ui.js 
jquery.svg.js
jquery.svgfilter.js

更新 演示: https://jsfiddle.net/Ltbgcfb8/

文档 http://keith-wood.name/svgRef.html#svgparams

$(selector).svg({loadURL: '', onLoad: fn, settings: {}, initPath: ''})

Attach an SVG画布到指定的区域或内联SVG元素。 loadURL(字符串,可选)是要加载的初始文档的URL。
onLoad(函数,可选)是在加载后调用的回调函数。它接收SVG包装器对象的引用作为参数。this是指包含的区域。
settings(对象,可选)是用于此SVG实例的新设置。
initPath(字符串,可选)是空白.svg文件的任何其他路径。
Since 1.1.0 - previously you used $(selector).svg(url, onLoad, settings);.
Since 1.2.0 - initPath setting and onLoad receives parameter of SVG Wrapper object.
Since 1.4.3 - allow target object to be inline SVG.

请创建一个 MCVE - Paul LeBeau
你确定在DOM准备就绪后再运行你的代码了吗? - Paul LeBeau
是的,在DOM准备就绪后,代码会运行。 我创建了一个jsfiddle -> https://jsfiddle.net/Ltbgcfb8/ - Peter
2个回答

1

我明白了

$('#test svg').svg(); 
var svg = $('#test svg').svg('get'); 
svg.add($('#test svg > *')); 

-1

我已经为您更新了JsFiddle。 您必须使用:

<defs>
      <linearGradient id="Gradient" x1="0" x2="0" y1="0" y2="1">
         <stop offset="5%" stop-color="#F60"/>
        <stop offset="95%" stop-color="#FF6" stop-opacity="0"/>
      </linearGradient>
  </defs>

请看这里 https://jsfiddle.net/Ltbgcfb8/1/

希望能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接