2015-03-25 5 views
5

Ich versuche herauszufinden, warum dieser Code in Firefox nicht funktioniert. Es soll horizontale Pfade erstellen, aber ich kann sie nicht in Firefox sehen. Chrome und IE zeigen sie richtig an. Was könnte das Problem sein?Dynamisch erstellt SVG funktioniert nicht in Firefox, funktioniert aber in Chrome

https://jsfiddle.net/7a6qm371/

<div> 
<svg width="100%" height="500" id="svgBottomWall"> 
    <g style="stroke: aqua; fill: none;" id="svgBottomWallGridGroup"></g> 
</svg> 

$(document).ready(function() { 

var svgBottomWall = document.getElementById("svgBottomWall"); 
var rect = svgBottomWall.getBoundingClientRect(); 
var svgW = rect.width; 



function createHorizontalLine(w, d) { 
    var nline = document.createElementNS("http://www.w3.org/2000/svg", "path"); 
    nline.setAttribute("d", "M 0 " + d + ", L " + w + " " + d); 
    nline.setAttribute("stroke-width", 1); 
    nline.setAttribute("stroke", "#ffffff"); 
    document.getElementById("svgBottomWallGridGroup").appendChild(nline); 
} 
for (var i = 0; i <= svgW; i = i + 100) { 
    createHorizontalLine(svgW, i); 
} 
}); 
+0

Es scheint so zu sein, dass 'svgBottomWall.clientWidth', wie Sie in Ihrer Geige haben,' 0' in Firefox zurückgibt. Ich habe versucht, einen festen Wert in der Schleife zu verwenden, aber es funktioniert immer noch nicht, das ist nur eines Ihrer Probleme. – Phil

Antwort

Verwandte Themen