我正在制作一个弹出窗口,我在使用Internet Explorer 9时遇到了一些困难。这是给我带来麻烦的一段代码:
var popUp= document.getElementById('projectInfo');
popUp.style.left=(tempX-310)+'px';
popUp.style.top=(tempY-110)+'px';
在IE9中(尚未在先前版本中测试过),popup为null。在adition中,我尝试在正文结束标记之前包含我的.js文件,并将我的函数包装在“document.ready()”函数中,但这些都不起作用。相同的代码虽然在Opera,Chrome和Firefox中完美运行。 有谁知道发生了什么事?
注意:该函数在我的html的主体onLoad属性中调用。
答案 0 :(得分:1)
不使用功能无法正常工作
window.onload = function() {
var popUp= document.getElementById('projectInfo');
popUp.style.left=(tempX-310)+'px';
popUp.style.top=(tempY-110)+'px';
}
答案 1 :(得分:0)
IE在getElementById上遇到了一些已知问题。这篇文章可能有所帮助。
答案 2 :(得分:0)
在IE的早期版本(显然是Chrome和Firefox)中,getElementById会检查具有给定ID的对象,如果找不到它,则需要一个具有该名称的元素。
IE9不会这样做,所以你需要确保你有一个id = projectInfo的元素,而不仅仅是name = projectInfo。我们刚刚在一个应用程序中发现了这一点。不太好。