Gregor Schilling: komisches Verhalten - strange SVG

Beitrag lesen

Hallo,

Ich habe 2 html Dateien mit einer übersichtlichen SVG impl., von denen eine funktioniert und die andere nicht:

Hier ist die, die funktioniert:

good.html

  
<html>  
  
<script type="text/javascript">  
  
    function check_rect_onmouseover(evt,num) {  
      var name = "check_marker_" + num;  
      var e = document.getElementById(name);  
        e.setAttribute("opacity", 0.5 );  
    }  
    function check_rect_onmouseout(evt,num) {  
      var name = "check_marker_" + num;  
      var e = document.getElementById(name);  
      e.setAttribute("opacity", parent.testing );  
    }  
  
    function check_marker_onmouseover(evt,num) {  
	evt.target.setAttribute("opacity",0.5);	  
    }  
    function check_marker_onmouseout(evt,num) {  
        evt.target.setAttribute("opacity", parent.testing );  
    }  
  
  
</script>  
<body>  
  
<svg  
   	xmlns:dc="http://purl.org/dc/elements/1.1/"  
		xmlns:cc="http://creativecommons.org/ns#"  
		xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
		xmlns:svg="http://www.w3.org/2000/svg"  
		xmlns="http://www.w3.org/2000/svg"  
		xmlns:xlink="http://www.w3.org/1999/xlink"  
		xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"  
		xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"  
		version="1.1"  
		width="100%"  
		height="100%"  
		id="svg2985"  
		sodipodi:docname="check_button_stencil.svg">  
<rect  
	onclick="check_rect_onclick(evt,1)"  
	onmouseover="check_rect_onmouseover(evt,1)"  
	onmouseout="check_rect_onmouseout(evt,1)"  
	onload="check_rect_init(evt,1)"  
	width="32"  
	height="32"  
	rx="9"  
	ry="9"  
	x="0"  
	y="32"  
	id="check_rect_1  
"	style="fill:#FFFFFF;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />  
<path  
        onmouseover="check_rect_onmouseover(evt,1)"  
	inkscape:connector-curvature="0"  
	d="m 15,42 c -64.97804,-26.0529 -14.91981,-13.649 3.13004,14.7949 12.51411,-50.4176 53.15077,-110.968 -3.13004,-14.7949z"  
	id="check_marker_1"  
	style="fill:#000000;fill-opacity:1;stroke:none" />  
  
  
</svg>  
</body>  
</html>  

Es ist ein einfacher Kasten bei dem der Haken beim rübergehen mit der Mouse transparent wird.

Jetzt dachte ich, na toll, dann mache ich eben noch so eine Datei:

bad.html

  
<html>  
  
<script type="text/javascript">  
  
function Qover(evt,num)  
{  
       evt.target.setAttribute("opacity", 0.5 );  
       document.getElementById("menubuttoncolor_1").setAttribute("opacity",0.5);  
}  
  
</script>  
<body>  
  
<svg  
   	xmlns:dc="http://purl.org/dc/elements/1.1/"  
		xmlns:cc="http://creativecommons.org/ns#"  
		xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
		xmlns:svg="http://www.w3.org/2000/svg"  
		xmlns="http://www.w3.org/2000/svg"  
		xmlns:xlink="http://www.w3.org/1999/xlink"  
		xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"  
		xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"  
		version="1.1"  
		width="100%"  
		height="100%"  
		id="svg2985"  
		sodipodi:docname="check_button_stencil.svg">  
  <rect  
     onmouseover="Qover(evt,1)"  
     style="opacity:1;fill:#b9b9b9;stroke:none"  
     id="menubuttoncolor_1"  
     width="60"  
     height="35"  
     x="0"  
     y="0"  
     rx="4.7572179"  
     ry="4.995079" />  
  
</svg>  
</body>  
</html>  

Die nicht funktioniert, in beiden Fällen werden die Funktionen definitiv aufgerufen, aber bei dem bad.html Beispiel passiert gar nichts. Nachdem ich jetzt seit 5h immer versuche heraus zu finden warum oder evtl. Bugs zu finden bin ich sprachlos. Evtl ist es ein ganz einfacher Fehler, den ich nicht mehr erkenne, darum hoffe ich auf dein paar Augen.

Vielen Dank und warum funktioniert das bei der einen Datei und warum bei der anderen nicht, ich bin total Fassungslos?

Grus,

Gregor.