SVG – Learning by Coding

[ splitText_normalize.svg --> Grafik anzeigen ]

 1: 
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 2: 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"

 3: 
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [

 4: 
  <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">

 5: 
]>

​ 6:  7: 
<!-- SVG Learning by Coding http://www.datenverdrahten.de/svglbc/ -->

 8: 
<!--    AuthorDrThomas Meinike 08/04 thomas@handmadecode.de     -->

​ 9: 10: 
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

​11: 12: 
  <title>SVG Learning by Coding</title>

13: 
  <desc>SVG-Spezifikation in Beispielen</desc>

​14: 15: 
  <defs>

​16: 17: 
    <script type="text/javascript">

18: 
      <![CDATA[

​19: 20: 
      function SplitNorm(evt)

21: 
      {

22: 
        var svgdoc,txtobj;

23: 
        svgdoc=evt.target.ownerDocument;

24: 
        txtobj=svgdoc.getElementById("txt");

​25: 26: 
        alert("- Ausgangszustand\n\n"+

27: 
          "Anzahl der Kindknoten von txtobj: "+txtobj.childNodes.length+

28: 
          "\ntxtobj.firstChild.nodeValue: "+txtobj.firstChild.nodeValue);

​29: 30: 
        // Textinhalt ab dem 5. Zeichen als neuen Textknoten abspalten

31: 
        txtobj.firstChild.splitText(4); // Ergebnis = neuer Textknoten

32: 
        alert("- nach txtobj.firstChild.splitText(4)\n\n"+

33: 
          "Anzahl der Kindknoten von txtobj: "+txtobj.childNodes.length+

34: 
          "\ntxtobj.firstChild.nodeValue: "+txtobj.firstChild.nodeValue+

35: 
          "\ntxtobj.lastChild.nodeValue: "+txtobj.lastChild.nodeValue);

​36: 37: 
        // Geschwister-Textknoten (siblings) zusammenfassen

38: 
        txtobj.normalize();

39: 
        alert("- nach textobj.normalize()\n\n"+

40: 
          "Anzahl der Kindknoten von txtobj: "+txtobj.childNodes.length+

41: 
          "\ntxtobj.firstChild.nodeValue: "+txtobj.firstChild.nodeValue);

42: 
      }

​43: 44: 
      ]]>

45: 
    </script>

​46: 47: 
  </defs>

​48: 49: 
  <text x="20" y="30" style="fill: #000; font-size: 24px">

50: 
    DOM-Methoden splitText() und normalize()</text>

​51: 52: 
  <text id="txt" x="20" y="60" style="fill: #00C; font-size: 14px">TestText</text>

​53: 54: 
  <a xlink:href="" cursor="pointer" onclick="return false">

55: 
    <text x="20" y="80" onclick="SplitNorm(evt)">Methoden aufrufen</text>

56: 
    <set attributeName="fill" attributeType="CSS" to="#F00" begin="mouseover"/>

57: 
    <set attributeName="fill" attributeType="CSS" to="#000" begin="mouseout"/>

58: 
  </a>

​59: 60: 
</svg>

[zum Anfang]