2015-12-03 2 views
0

У меня есть простой файл SVG, содержащий прямоугольник inlike это:оснастки SVG получить Viewbox

<svg id="mySvg" onload="init()" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="297mm" viewBox="0 0 744.09448819 1052.3622047" width="210mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> 
<metadata id="metadata892"> 
    <rdf:RDF> 
    <cc:Work rdf:about=""> 
    <dc:format>image/svg+xml</dc:format> 
    <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> 
    <dc:title/> 
    </cc:Work> 
    </rdf:RDF> 
</metadata> 
<script xlink:href="snap.svg-min.js" type="text/ecmascript"/> 
<rect id="myRect" opacity="1" rx="28.143" ry="37.785" height="225.71" width="365.21" y="260.93" x="94.286"/> 
</svg> 

... а затем, прямо перед закрывающим тэгом </svg> Я поставил этот скрипт:

<script><![CDATA[ 
var mySvg, myRect; 

function init(){ 
    mySvg=Snap("#mySvg"); 
    myRect=mySvg.select("#myRect"); 
    myRect.click(rectCursor); 
} 

function rectCursor(evt){ 
    if(evt.type==="click"){ 
    alert(mySvg.attr("viewBox")); 
} 

]]></script> 

Я просто хочу, чтобы окно предупреждения отображало текущий viewBox всякий раз, когда я нажимаю на прямоугольник, нахожусь, когда я нажимаю на прямоугольник, в окне предупреждения отображаются только объекты [object Object]

Любое su Что я должен делать? Как правильно преобразовать этот объект [объект Object] в читаемую строку?

ответ

0

Функция attr() возвращает объект со свойствами, которые описывают окно просмотра. Объект имеет свойства x, y, width, height, которые являются значениями числа. Объект имеет свойство vb, которое представляет собой строковое значение, содержащее значения x, y, width, height.

код с помощью х, у, ширина, высота свойства может выглядеть ...

var viewBox = mySvg.attr("viewBox"); 
alert(viewBox.x + " " + viewBox.y + " " + viewBox.width + " " + viewBox.height); 

код, используя свойство Vb может выглядеть ...

alert(mySvg.attr("viewBox").vb); 
+0

Спасибо @Bobby. ... – Rickard

Смежные вопросы