最近在做一个页面:功能上想实现点提交按钮的时候,页面变灰(并且无法点击页面元素),同时给出一个提示信息:业务处理中,请稍候。现在使用DIV实现了页面普通元素的覆盖,但是在IE6下面,无法半透明覆盖下拉表单(看了网上介绍的iframe方法,但是会把页面完全覆盖掉,如果页面由很多下拉表单组成,覆盖后的页面惨不忍睹),在其他浏览器下无法覆盖java.applet生成的页面控件。 求助: 请大虾指点ie 6下如何半透明覆盖下拉表单, 或者能否把iframe整成半透明。 谢谢!具体代码如下(点按钮'Show Div'能够覆盖页面普通元素,无法覆盖下拉表单):<style type="text/css">
<!--
html,body {height:100%; margin:0px; font-size:12px;}.mydiv {
background-color: #f9fff6;
border: 1px solid #009900;
text-align: center;
line-height: 25px;
font-size: 13px;
font-weight: bold;
z-index:99;
width: 300px;
height: 50px;
left:50%;/*FF IE7*/
top:50%;/*FF IE7*/margin-left:-150px!important;/*FF IE7 half of its width */
margin-top:-60px!important;/*FF IE7 half of its height*/margin-top:0px;position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}
.bg {
background-color: #C2BEBF;
width: 100%;
height: 100%;
left:0;
top:0;/*FF IE7*/
filter:alpha(opacity=40);/*IE*/
opacity:0.4;/*FF*/
z-index:1;position:fixed!important;/*FF IE7*/
position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/} 
--> 
</style>
<script language="javascript" type="text/javascript">
function showDiv(){
document.getElementById('popDiv').style.display='block';
document.getElementById('bg').style.display='block';
}function closeDiv(){
document.getElementById('popDiv').style.display='none';
document.getElementById('bg').style.display='none';
}</script>
<div id="popDiv" class="mydiv" style="display:none;">The system is dealing with your request, please waiting...<br/>
<!--<a href="javascript:closeDiv()">close</a>--></div>
<div id="bg" class="bg" style="display:none;">
</div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>弹出半透明层 (支持IE FF)</title></head><body>
<form id="frm1" name="frm1" action="new_page_2.htm" method="post">
<input type="button" value="Show DIV" onclick="showDiv()" />
<select><option >test</option></select>
<br><br><br><br>
<select name="selOccPool" multiple="multiple"  size="6"  style="width:20%"  id="selOccPool">

<option value = "**All**" selected="true">**All**</option>
<option value="6A">6A</option>
<option value="6B">6B</option>
<option value="6C">6C</option>
<option value="6D">6D</option>
<option value="6E">6E</option>
<option value="6F">6F</option>
<option value="6G">6G</option>
</select>
</form>
</body>
</html>

解决方案 »

  1.   


    <style type="text/css">
    <!--
    html,body {height:100%; margin:0px; font-size:12px;}.mydiv {
    background-color: #f9fff6;
    border: 1px solid #009900;
    text-align: center;
    line-height: 25px;
    font-size: 13px;
    font-weight: bold;
    z-index:99;
    width: 300px;
    height: 50px;
    left:50%;/*FF IE7*/
    top:50%;/*FF IE7*/margin-left:-150px!important;/*FF IE7 half of its width */
    margin-top:-60px!important;/*FF IE7 half of its height*/margin-top:0px;position:fixed!important;/*FF IE7*/
    position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&
                document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}
    .bg {
    background-color: #C2BEBF;
    width: 100%;
    height: 100%;
    left:0;
    top:0;/*FF IE7*/
    filter:alpha(opacity=40);/*IE*/
    opacity:0.4;/*FF*/
    z-index:1;position:fixed!important;/*FF IE7*/
    position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&
                document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/} 
    --> 
    </style>
    <script language="javascript" type="text/javascript">
    function showDiv(){
    if(document.all){
    document.getElementById('bg').innerHTML = "<iframe style='width:100%;height:100%;left:0px;top:0px;position:absolute;filter:alpha(opacity=0);z-index:-1;border:0px'/>";
    }
    document.getElementById('popDiv').style.display='block';
    document.getElementById('bg').style.display='block';
    }function closeDiv(){
    document.getElementById('popDiv').style.display='none';
    document.getElementById('bg').style.display='none';
    }</script>
    <div id="popDiv" class="mydiv" style="display:none;">The system is dealing with your request, please waiting...<br/>
    <!--<a href="javascript:closeDiv()">close</a>--></div>
    <div id="bg" class="bg" style="display:none;"></div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>弹出半透明层 (支持IE FF)</title></head><body>
    <form id="frm1" name="frm1" action="new_page_2.htm" method="post">
    <input type="button" value="Show DIV" onclick="showDiv()" />
    <select><option >test</option></select>
    <br><br><br><br>
    <select name="selOccPool" multiple="multiple"  size="6"  style="width:20%"  id="selOccPool">
                        
    <option value = "**All**" selected="true">**All**</option>
    <option value="6A">6A</option>
    <option value="6B">6B</option>
    <option value="6C">6C</option>
    <option value="6D">6D</option>
    <option value="6E">6E</option>
    <option value="6F">6F</option>
    <option value="6G">6G</option>
    </select>
    </form>
    </body>
    </html>
      

  2.   

    用遮罩层去实现哦,你到我的博客中找相关代码哦,你贴出来运行下是不是想要的效果。我是用一个div遮罩的。
      

  3.   

    2楼兄台,我看了你的代码,在页面中加了一个下拉表单,DIV遮盖层没法遮盖下拉表单。依然感谢继续研究,有收获我会在这个地方与大家分享!代码如下(按钮文本框可以遮盖,但下拉表单无法遮盖):http://blog.csdn.net/helanye/archive/2009/08/22/4472484.aspx
    可以在上面代码中加入下面的下拉表单试试,
    <select name="select" id="select">
    <option>测试选项</option>
    <option>测试选项2</option>
    <option>测试选项3</option>
    </select><br/>
      

  4.   


    IE6下用iframe去遮盖select就会有select写没的现象,除非你自己模拟select不然很难办
      

  5.   

    style="filter:alpha(opacity=20)"这样可以让下拉表单半透明
      

  6.   

    谢谢楼上 style="filter:alpha(opacity=20)"是放在select的属性里面么,怎么没有起作用
      

  7.   

    楼上大虾在ie6下也是隐藏掉了select,不过还是学习了 结帖给分