45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:解决控件遮挡问题的方法技巧

解决控件遮挡问题的方法技巧

2016-08-28 18:46:44 来源:www.45fan.com 【

解决控件遮挡问题的方法技巧

从昨天开始,一直在努力解决一个问题:我引用了一个别人用js代码编写的日历控件,但是这个日历控件会被下面的dropdownlist控件遮挡。

后来查询一些资料,再加上同事的讲解,得知这主要是因为Dropdownlist控件的优先级比一般的控件都高,除了iframe。参考一些资料之后,我决定引用iframe来遮盖dropdownlist。

我记录一个经典的html页面吧,它能很好的说明这个问题:

<html>
<head>
 <script>
 function DivSetVisible(state)
 {
  var DivRef = document.getElementById('PopupDiv');
  var IfrRef = document.getElementById('DivShim');
  if(state)
  {
  DivRef.style.display = "block";
  IfrRef.style.width = DivRef.offsetWidth;
  IfrRef.style.height = DivRef.offsetHeight;
  IfrRef.style.top = DivRef.style.top;
  IfrRef.style.left = DivRef.style.left;
  IfrRef.style.zIndex = DivRef.style.zIndex - 1;
  IfrRef.style.display = "block";
  }
  else
  {
  DivRef.style.display = "none";
  IfrRef.style.display = "none";
  }
 }
 </script>
</head>
<body>
 <form>
 <select>
  <option>A Select Box is Born ....</option>
 </select>
 </form>
 <div
 id="PopupDiv"
 style="position:absolute; top:25px; left:50px; padding:4px; display:none; background-color:#000000; color:#ffffff; z-index:100">
 .... and a DIV can cover it up<br>through the help of an IFRAME.
 </div>
 <iframe
 id="DivShim"
 src="javascript:false;"
 scrolling="no"
 frameborder="0"
 style="position:absolute; top:0px; left:0px; display:none;">
 </iframe>
 <br>
 <br>
 <a href="#" onclick="DivSetVisible(true)">Click to show DIV.</a>
 <br>
 <br>
 <a href="#" onclick="DivSetVisible(false)">Click to hide DIV.</a>
</body>
</html>
    
   可以讲这个html拷贝到notepad,保存为html文件,打开之后就能看明白了。
   另外还找到另外一条语句,用于讲ifram设为transparent的:
  iframe.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
   这条语句可以将iframe设为透明的,而且仍然遮挡dropdownlist。
 

本文地址:http://www.45fan.com/a/question/68946.html
Tags: 解决 控件 遮挡
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部