function topDialog(title, width, height, url, color, alpha)
{
var jqTopDialog_DivMaskLayer = getTopDialogDivMaskLayer(color, alpha);
$(window.top.document).find("body").append(jqTopDialog_DivMaskLayer);
var jqTopDialog_DivPanel = getTopDialogDivPanel(title, width, height, url);
$(window.top.document).find("body").append(jqTopDialog_DivPanel);
}
function topDialogClose()
{
$(window.top.document).find("body").find("#TopDialog_DivMaskLayer").remove();
$(window.top.document).find("body").find("#TopDialog_DivPanel").remove();
}
function getTopDialogDivMaskLayer(color, alpha)
{
var jqTopDialog_DivMaskLayer = $(document.createElement("div"));
jqTopDialog_DivMaskLayer.attr("id", "TopDialog_DivMaskLayer");
jqTopDialog_DivMaskLayer.css("position", "absolute");
jqTopDialog_DivMaskLayer.css("z-index", "100000");
jqTopDialog_DivMaskLayer.css("background-color", color);
jqTopDialog_DivMaskLayer.css("top", "0px");
jqTopDialog_DivMaskLayer.css("left", "0px");
jqTopDialog_DivMaskLayer.css("height", window.top.document.body.scrollHeight);
jqTopDialog_DivMaskLayer.css("width", "100%");
jqTopDialog_DivMaskLayer.css("display", "block");
jqTopDialog_DivMaskLayer.css("opacity", alpha);
return jqTopDialog_DivMaskLayer;
}
function getTopDialogDivPanel(title, width, height, url)
{
var jqTopDialog_DivPanel = $(document.createElement("div"));
jqTopDialog_DivPanel.attr("id", "TopDialog_DivPanel");
jqTopDialog_DivPanel.css("position", "absolute");
jqTopDialog_DivPanel.css("z-index", "100001");
jqTopDialog_DivPanel.css("background-color", "#ffffff");
jqTopDialog_DivPanel.css("top", window.top.document.body.scrollHeight / 2 - height / 2);
jqTopDialog_DivPanel.css("left", window.top.document.body.scrollWidth / 2 - width / 2);
jqTopDialog_DivPanel.css("height", height);
jqTopDialog_DivPanel.css("width", width);
jqTopDialog_DivPanel.css("display", "block");
var panelModel = getPanelModel(title, width, height, url);
jqTopDialog_DivPanel.append(panelModel);
return jqTopDialog_DivPanel;
}
function getPanelModel(title, width, height, url)
{
var line_left = $(document.createElement("div"));
line_left.css("background", "url(/Images/topDialog/line_left.gif) no-repeat left top");
line_left.css("width", "100%");
var line_right = $(document.createElement("div"));
line_right.css("background", "url(/Images/topDialog/line_right.gif) no-repeat right top");
line_right.css("padding-right", "3px");
line_right.css("padding-left", "3px");
line_left.append(line_right);
var line_bottom = $(document.createElement("div"));
line_bottom.css("background", "url(/Images/topDialog/line_bottom.gif) repeat-x left bottom");
line_right.append(line_bottom);
var line_top = $(document.createElement("div"));
line_top.css("background", "url(/Images/topDialog/line_top.gif) repeat-x left top");
line_top.css("padding-top", "2px");
line_top.css("padding-bottom", "3px");
line_top.css("text-align", "left");
line_bottom.append(line_top);
var panelHead = $(document.createElement("h1"));
panelHead.css("color", "#FFFFFF");
panelHead.css("padding", "0px 6px 0px 15px");
panelHead.css("margin", "0px 0px 2px auto");
panelHead.css("height", "21px");
panelHead.css("float", "right");
panelHead.css("font-size", "13px");
panelHead.css("line-height", "21px");
panelHead.css("vertical-align", "middle");
line_top.append(panelHead);
var closeLink = $(document.createElement("a"));
closeLink.attr("href", "#");
closeLink.bind("click", function()
{
$(window.top.document).find("body").find("#TopDialog_DivMaskLayer").remove();
$(window.top.document).find("body").find("#TopDialog_DivPanel").remove();
});
closeLink.css("float", "right");
var closeImage = $(document.createElement("img"));
closeImage.attr("src", "/Images/topDialog/shut.gif")
closeImage.attr("border", 0);
closeImage.attr("alt", "关闭窗口");
closeLink.append(closeImage);
var titleText = $(document.createTextNode(title));
panelHead.append(closeLink);
panelHead.append(titleText);
var jqTopDialog_IFrame = getTopDialogIFrame(width, height, url);
line_top.append(jqTopDialog_IFrame);
return line_left;
}
function getTopDialogIFrame(width, height, url)
{
var jqTopDialog_IFrame = $(document.createElement("iframe"));
jqTopDialog_IFrame.attr("id", "TopDialog_IFrame");
jqTopDialog_IFrame.attr("src", url);
jqTopDialog_IFrame.attr("frameborder", 0);
jqTopDialog_IFrame.css("height", height);
jqTopDialog_IFrame.css("width", width);
jqTopDialog_IFrame.css("border", "0px");
return jqTopDialog_IFrame;
}
</script>
----------------------------------------------------------------------------
<input type="button" value="打开" onclick="topDialog('测试测试测试',500,500,'http://www.163.com','#ffffff',0.5)" />
--------------------------------------------------------------
以上是我写的一个JS,在IE8下正常可在IE7下就报错。找了半天也不知道问题出在哪里。寻求正解!!!!!!
10 个解决方案
#1
没人会还是分太少??怎么一个回复都没?!?
#2
UP
#3
错误是什么呀?
#4
错误是: $(window.top.document).find("body").append(jqTopDialog_DivMaskLayer);
告诉我传入的参数无效,但在IE8 下正常。
告诉我传入的参数无效,但在IE8 下正常。
#5
UP
#6
UP
#7
我也遇到这种情况,ffheie8完全没有问题,ie7就是不求行。。。
#8
typeof一下传入的参数,是否是一个DOM element。
#9
ie8一下的浏览器的document使用appendChild()时一定要使用这个document对象的createElement方法,否则会提示“参数无效”的错误。
#10
我也出了这个错误,期待中,貌似上面的回复都不行
#1
没人会还是分太少??怎么一个回复都没?!?
#2
UP
#3
错误是什么呀?
#4
错误是: $(window.top.document).find("body").append(jqTopDialog_DivMaskLayer);
告诉我传入的参数无效,但在IE8 下正常。
告诉我传入的参数无效,但在IE8 下正常。
#5
UP
#6
UP
#7
我也遇到这种情况,ffheie8完全没有问题,ie7就是不求行。。。
#8
typeof一下传入的参数,是否是一个DOM element。
#9
ie8一下的浏览器的document使用appendChild()时一定要使用这个document对象的createElement方法,否则会提示“参数无效”的错误。
#10
我也出了这个错误,期待中,貌似上面的回复都不行