是什么导致javascript模式弹出窗口在IE7中起作用,但在IE8中不起作用?

问题描述

| 我正在使用两个模式弹出窗口。一个是覆盖屏幕的透明灰色屏幕,另一个是应该位于灰色模态顶部的框。好吧,灰色模式停止在页面的中间,其他显示页面底部。 该页面可以在IE7中正常运行,但显示如上在I​​E8和9中发布的那样。 我想知道是否有任何一般性问题会导致此问题(7和8之间的关键区别)。 我已经尝试过的一个普遍问题是doctype。我的是
 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
//将控件加载为模式窗口。如果传入的元素则将其用于放置,否则
//creates a new element in the body.
toModal: function (element) {

    this.modalid = createModal(770,500);
    this.show(this.modalid);
},var controlID = \'_modal_\' + modalWindows.length;
var currYpos = document.viewport.getScrollOffsets()[1];

var windowWidth = document.viewport.getWidth();
var windowHeight = document.viewport.getHeight();

var tp = (windowHeight - height) / 2;
var lt = (windowWidth - width) / 2;

tp = tp + currYpos;  //+ 75;
currYpos = currYpos;  //+ 145;

var modal = new Element(\'div\',{ \'id\': controlID,\'class\': \'modalBox\',\'style\': \'top:\' + tp + \'; left:\' + lt + \'; z-index:10000\' + modalWindows.length + \'; width:\' + width + \'; padding: 0px 0px 0px 0px; height:\' + height + \';overflow:auto;\' });
var modalBack;
if ($(\'modal_back\')) {
    modalBack = $(\'modal_back\');
} else {
    modalBack = new Element(\'div\',{ \'id\': \'modal_back\',\'class\': \'modalBack\',\'style\': \'top:\' + 0 + \'; left:\' + 0 + \'; width:\' + windowWidth + \'; height:\' +  docHeight + \';\'});
}
modalBack.setopacity(0.5);

// For IE6 bug regarding SELECT\'s taking z-index presedence over all non-windowed controls (this is fixed in IE7+)
var version = 999;
if (navigator.appVersion.indexOf(\"MSIE\") != -1) {
    version = parseFloat(navigator.appVersion.split(\"MSIE\")[1]);
}

$(document.body).insert(modalBack);
$(document.body).insert(modal);
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)