如何解决是什么导致javascript模式弹出窗口在IE7中起作用,但在IE8中不起作用?
| 我正在使用两个模式弹出窗口。一个是覆盖屏幕的透明灰色屏幕,另一个是应该位于灰色模态顶部的框。好吧,灰色模式停止在页面的中间,其他显示在页面底部。 该页面可以在IE7中正常运行,但显示如上在IE8和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 举报,一经查实,本站将立刻删除。