在带有view-port的ff版本46.0.1中(重要的是,因为此问题仅在特定的视口下显示)1920×922某些svg元素在交互后不显示。
function createCircle(x, y, space) {
circle = document.createElementNS(svg, "circle");
circle.setAttributeNS("","cx", x);
circle.setAttributeNS("","cy", y);
circle.setAttributeNS("","r", 20);
circle.setAttributeNS("","stroke", "black");
circle.setAttributeNS("","stroke-width", 3);
circle.setAttributeNS("","fill", "gray");
circle.setAttributeNS("","onclick", "createNode(evt, 'left', " + space + ")");
graph.appendChild(circle);
}
function createNode(evt, direction, space) {
var target = evt.target;
var y = parseInt(target.getAttribute("cy"));
var x = parseInt(target.getAttribute("cx"));
if(direction == "left") {
target.setAttribute("onclick", "createNode(evt, 'right', " + space + ")");
var cx = x - space;
var cy = y - 80;
createLine(x - 5, y - 20, cx, cy);
} else {
target.removeAttribute("onclick");
var cx = x + space;
var cy = y - 80;
createLine(x + 5, y - 20, cx, cy);
}
if(cy > 0) {
createCircle(cx, cy, space/2);
} else {
target.removeAttribute("onclick");
}
}
$(document).ready(function() {
var graph = document.getElementById("graph");
createCircle(180, 470, 90);
});
...但是当我调整窗口大小时,元素会显示出来。
有人可以帮忙吗?
编辑:
我找到了解决方案。一些父DOM元素有 显示:table-cell; 当我删除它,我的应用程序开始正常工作。