appendChild在IE中无法正常工作

时间:2011-06-22 22:13:59

标签: javascript internet-explorer modal-dialog appendchild

我正在尝试创建一个简单的模态窗口,但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);
}

1 个答案:

答案 0 :(得分:3)

这是常见的IE问题。这很刺激,但是可以管理。

如果在正文关闭之前在body标签内执行 document.body.appendChild ,则IE6将不会加载该页面。 7和8将等到页面加载

那么,如何处理这个问题?

  • 使用 body.onload 等待身体加载。
  • 将元素附加到另一个元素而不是body标记。

我推荐第二个选项。将元素附加到另一个目标元素将保留预期的行为,而不会改变您将元素添加到站点的方式。

相关问题