首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Jquery写的JS在IE8下正常在IE7下就报错?解决办法

2012-03-24 
Jquery写的JS在IE8下正常在IE7下就报错???/*弹出拍照*/function topDialog(title, width, height, url, co

Jquery写的JS在IE8下正常在IE7下就报错???
/*弹出拍照*/
  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下就报错。找了半天也不知道问题出在哪里。寻求正解!!!!!!

[解决办法]
typeof一下传入的参数,是否是一个DOM element。

热点排行