SVG Appending - это ДОЛЖНО работать, это так просто: X - PullRequest
0 голосов
/ 15 февраля 2012
    <html>

    <script language="JavaScript" type="text/javascript">

    function asdf()
    {
     var a = document.createElementNS("http://www.w3.org/2000/svg", "circle");
     a.setAttributeNS(null, "cx", "10");
     a.setAttributeNS(null, "cy", "10");
     a.setAttributeNS(null, "r", "100");
     a.setAttributeNS(null, "id", "circle");
     a.setAttributeNS(null, "fill", "rgb(0,0,255)");
     a.setAttributeNS(null, "visibility", "visible");
     document.getElementById("svg").appendChild(a);

     var b = document.createElementNS("http://www.w3.org/2000/svg", "line");
     b.setAttributeNS(null, "x1", "0");
     b.setAttributeNS(null, "y1", "140");
     b.setAttributeNS(null, "x2", "720");
     b.setAttributeNS(null, "y2", "140");
     b.setAttributeNS(null, "id", "line");
     b.setAttributeNS(null, "stroke", "black");
     b.setAttributeNS(null, "visibility", "visible");
     document.getElementById("svg").appendChild(b);
    }

    function roll()
    {
      var c = document.createElementNS("http://www.w3.org/2000/svg", "circle");
      c.setAttributeNS(null, "cx", "10");
      c.setAttributeNS(null, "cy", "10");
      c.setAttributeNS(null, "r", "100");
      c.setAttributeNS(null, "id", "circle2");
      c.setAttributeNS(null, "fill", "rgb(0,0,255)");
      document.getElementById("svg").appendChild(c);
    }
    </script>

    <body onLoad="asdf()">
    <svg id="svg" xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink">

    </svg>
    <input type='button' value='roll' onClick='roll()'>
    </body>

    </html>

То, что я пытаюсь выполнить, добавляя 2 разных объекта svg на главную страницу, roll () предназначается для того, чтобы действовать как своего рода метод форматирования svg, который добавляет другую строку в первый созданный круг ипереместите его, когда я перемещаю круг по экрану - выступая в качестве спицы для наглядности.

Моя проблема в том, что, хотя я считаю, что это должно работать как задумано, это, очевидно, не для меня, так как я не смогчтобы видеть видимые объекты, которые я создаю!

Заранее спасибо, хотя знаю, что это отчасти лениво-спасибо: D

...