appendChild 在 IE 中无法正常工作
我正在尝试创建一个简单的模态窗口,但 IE 不配合。当我在IE中调用此函数时,内容出现在页面底部的所有内容下,并且不出现覆盖图像。这是代码:
function applyOverlay(src)
{
var my_overlay = document.createElement('div');
my_overlay.setAttribute('id','myoverlay');
var doc_height = document.body.scrollHeight;
my_overlay.setAttribute('style','text-align:center; position:fixed; top:0px; left:0px; background-image:url("images/trbg.png"); width:100%; height:'+doc_height+'; z-index:999;');
my_overlay.innerHTML="<iframe style='background:none;' frameborder=0 height='100%' width='80%' src='"+src+"'><iframe>";
document.body.appendChild(my_overlay);
}
I am trying to create a simple Modal window, but IE isn't cooperating. When I call this function in IE, the content appears at the bottom of the page under all content and the overlay image does not appear. Here's the code:
function applyOverlay(src)
{
var my_overlay = document.createElement('div');
my_overlay.setAttribute('id','myoverlay');
var doc_height = document.body.scrollHeight;
my_overlay.setAttribute('style','text-align:center; position:fixed; top:0px; left:0px; background-image:url("images/trbg.png"); width:100%; height:'+doc_height+'; z-index:999;');
my_overlay.innerHTML="<iframe style='background:none;' frameborder=0 height='100%' width='80%' src='"+src+"'><iframe>";
document.body.appendChild(my_overlay);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是常见的 IE 问题。这很烦人,但可以控制。
如果在 body 关闭之前在 body 标记内执行 document.body.appendChild,则 IE6 将不会加载该页面。 7 和 8 会等待页面加载
那么,如何处理这个问题呢?
我推荐第二种选择。将元素附加到另一个目标元素将保留预期行为,并且不会更改将元素添加到网站的方式。
This is common IE issue. It is irritating, but managable.
If document.body.appendChild is executed within the body tag before the body is closed, IE6 will simply not load the page. 7 and 8 will wait until the page is loaded
So, how to approach this issue?
I recommend the second option. Appending elements to another target element will preserve the intended behavior and not change the way you add your elements to the site.