Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';加载DOMContentLoaded后是否调用了我的函数?_Javascript_Svg - Fatal编程技术网

Javascript 为什么不是';加载DOMContentLoaded后是否调用了我的函数?

Javascript 为什么不是';加载DOMContentLoaded后是否调用了我的函数?,javascript,svg,Javascript,Svg,我制作这把小提琴是为了演示: 我有一个函数,可以更改我制作的几个svg多边形的颜色。当我使用Chrome/Firefox在本地运行时,颜色会按预期加载。但是当我使用Internet Explorer/JSFIDLE运行它时,多边形仍然是白色,它们是原始颜色。我的问题是为什么这不起作用?我花了好几个小时想弄明白 以下是我的功能: function statColor() { var random; document.getElementById("print").innerHT

我制作这把小提琴是为了演示:

我有一个函数,可以更改我制作的几个svg多边形的颜色。当我使用Chrome/Firefox在本地运行时,颜色会按预期加载。但是当我使用Internet Explorer/JSFIDLE运行它时,多边形仍然是白色,它们是原始颜色。我的问题是为什么这不起作用?我花了好几个小时想弄明白

以下是我的功能:

function statColor() {

    var random;
    document.getElementById("print").innerHTML = "Enter";

    for (var i = 0; i < counties.length; i++) {

        random = (Math.random() * 100);
        elem = document.getElementById(counties[i]);

        if (random >= 0 && random <= 25) {

            elem.style.fill = "green";
        } else if (random > 25 && random <= 50) {

            elem.style.fill = "yellow";
        } else if (random > 50 && random <= 75) {

            elem.style.fill = "orange";
        } else if (random > 75 && random <= 100) {

            elem.style.fill = "red";
        }
    }
    document.getElementById("polyNorthernIreland").style.fill = "grey";
}

还应该提到我正在使用IE11使用
attachEvent()
addEventListener()
在IE小于9.0时不起作用中是否观察到此问题?请参见
addEventListener
的兼容性。似乎是window.load=statColor。它应该在IE 11中工作。IDK我总是将我的脚本放在结束正文标记之前。@RexOverflow,因为这样它甚至不会开始加载脚本,直到它解析了文档中的所有图像和CSS文件,并且因为它在
结构中没有语义意义。我应该提到我正在使用IE11,编辑我的帖子。
document.addEventListener("DOMContentLoaded", statColor, false);