我正在使用使用raphael庫創建svg內容的庫。我現在想添加縮放功能。我發現下面的庫:如何將SVGPan支持添加到raphael
http://www.cyberz.org/blog/2009/12/08/svgpan-a-javascript-svg-panzoomdrag-library/
這是SVG部分的外觀:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
//...the image
的問題是,這個庫需要一個腳本標籤和整個圖像周圍A G標記。它應該是這樣的操作之後:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<script xlink:href="SVGPan.js"/>
<g id="viewport" transform="translate(200,200)">
...//the image
</g>
我需要添加腳本標籤,但真正的問題是把一個g組件id爲「視口」周圍的圖像的整個休息。 我該如何使用JQuery或計劃JavaScript?
編輯:
我有點領先於自己。事實證明,添加腳本標記似乎不起作用:
var svg = $('svg');
svg.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); // else error in firefox with links
var scriptElement = document.createElementNS('http://www.w3.org/2000/svg','script');
scriptElement.setAttribute('xlink:href','js/SVGPan.js');
svg.prepend(scriptElement);
我沒有收到錯誤,腳本完全運行但未添加標記。我已經驗證了$('svg')選擇了所需的元素,我可以對它做任何事情,除了預先爲我不明白的任何元素添加腳本標記。
更具體地說,我使用的是一個內部使用raphael的庫。我還沒有想出如何讓base raphael紙張對象能夠操作它,例如使用zpd插件。 –
它不是'paper.node',它是'paper.canvas' – treecoder