JSD*_*ler 5 html javascript firefox svg google-chrome
我试图弄清楚为什么这段代码在Firefox中不起作用.它应该创建水平路径,但我无法在Firefox中看到它们.Chrome和IE正确显示它们.可能是什么问题?
https://jsfiddle.net/7a6qm371/
<div>
<svg width="100%" height="500" id="svgBottomWall">
<g style="stroke: aqua; fill: none;" id="svgBottomWallGridGroup"></g>
</svg>
Run Code Online (Sandbox Code Playgroud)
$(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);
}
});
Run Code Online (Sandbox Code Playgroud)
您的d路径参数格式不正确。
你有类似的东西
d="M 0 100, L 1000 100"
Run Code Online (Sandbox Code Playgroud)
而它应该是
d="M 0,100 L 1000,100"
Run Code Online (Sandbox Code Playgroud)
请参阅https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d
解决办法是
nline.setAttribute("d", "M 0," + d + " L " + w + "," + d);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |