2015-08-28 56 views
1

我使用svg.js庫加載svg文件,添加它的點(圖像)和動畫的點。我用PHP加載svg文件並生成代碼將其嵌入到html中。加載和轉換並嵌入SVG文件與svg.js

這裏是我的HTML代碼的外觀:

<div class="svg-element"> 
    <svg id="svgId" ...> 
     <!-- SVG code --> 
    </svg> 
</div> 

這是我的javascript代碼的樣子:

var svg = SVG.get('svgId'); 
svg.size('100%', '100%'); 

var point = svg.image(point_url); 
point.attr('id', 'pointId'); 
point.move(100, 100); 

該代碼工作完美,但問題是當我使用scale()功能進行帶點的縮放效果。

point.scale(0.5); 

transform功能:將顯示在JavaScript控制檯

point.transform({scaleX : '0.5', scaleY : '0.5'}); 

TypeError: SVG.parser is undefined錯誤。

我該如何避免這個問題,並對圖像使用變換方法?問題可能是我使用.get()函數,我如何使用svg文件創建SVG對象?

回答

0

的解決方案是愚蠢和容易:

var svg = SVG('svgId'); 

使用.get()函數代替。

您必須使用SVG()構造與SVG的ID,而不是.get()功能,我很困惑,這一點,因爲this answer說,你可以使用.get()檢索SVG。

+0

鏈接的答案還表示:「方法*後*導入原始svg:」。 get方法適用於svg文檔中的元素,而不是文檔本身 – Fuzzyma