首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 下拉框遮挡住层的问题(ie的bug),寻求一个比较好的解决方式 [已结贴,结贴人:mlw2000]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 15:28:25 楼主
    我明白可以使用办法有:1>把下拉列表disable掉2>display='none'
    但这两种办法都无法满足,具体看下面的例子
    HTML code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> test </title> <style type="text/css"> #main{position:relative;z-index:1; width:300px;height:300px} #cover{position:absolute;left:0px;top:0;z-index:2;width:100%;background:black;height:100%; filter:alpha(opacity=40);opacity:0.5; text-align=center;color:red;vertical-align:middle;} </style> </head> <script language="JavaScript"> var COVER=null; window.alert = function (msg){ if(COVER==null){ var parentElement = document.createElement("div"); parentElement.innerHTML = "<div></div>"; var element = parentElement.firstChild || null; element.setAttribute("id","cover"); var body = document.getElementsByTagName('BODY').item(0); body.appendChild(parentElement); COVER = document.getElementById("cover"); } COVER.innerHTML=msg+"<br><input type='button' value='确认' onclick='hide()'>"; COVER.style.display=''; } function hide(){ COVER.style.display='none'; } </script> <body > <div id="main"> <form method=post action="" name="form1"> <input type="radio" name="1" checked="true">单选框无问题 <input type="radio" name="">单选框无问题<br> <textarea name="" rows="" cols="">文本域无问题</textarea><br> <input type="checkbox" name="">复选框无问题<br> <select name="select1"> <option value="1" selected >11</option> <option value="3" >22</option> </select> <input type="button" value="click here" onclick="alert('数据格式错误')"> </form> </div> </body> </html>
    40  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 15:28:271楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【mlw2000】截止到2008-07-05 15:28:21的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:290                     
    结贴的总数量:6                        结贴的总分数:290                     
    无满意结贴数:0                        无满意结贴分:0                       
    未结的帖子数:0                        未结的总分数:0                       
    结贴的百分比:100.00%              结分的百分比:100.00%                 
    无满意结贴率:0.00  %              无满意结分率:0.00  %                 
    敬礼!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 15:30:272楼 得分:0
    寻求一个优雅一点解决方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 15:49:463楼 得分:0
    自己给出一种解决方式:添加一个回调函数,回调函数里把下拉列表disable掉,这样做稍微通用了一点。
    有没有更好的解决办法了呢??
    JScript code
    var COVER=null; var CALL_BACK=null; //替换通用的alert函数 window.alert = function (msg,callback){ CALL_BACK=callback; /** more code here */ } function hide(){ COVER.style.display='none'; if(CALL_BACK){ CALL_BACK(); } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhgu999
    • 等级:
    发表于:2008-07-05 16:18:514楼 得分:10
    使div浮动层显示在Select组件上面

    http://www.cnblogs.com/zzh/archive/2008/03/26/1123560.html

    看看吧.希望能帮助你


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 16:54:405楼 得分:0
    用的最多的是IFRAME 记得前几天有帖子讨论过。。。 不太好弄
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-06 13:13:446楼 得分:0
    尝试过,不起作用,因为我需要的是半透明的效果,一旦iframe设置allowTransparency之后,遮挡效果就没有了
    HTML code
    <!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>全屏</title> <style type="text/css"> #Dall_screen, #Iall_screen { position:absolute; left:0px; top:0px; } #Dall_screen { z-index:100; background-color:gray; filter:alpha(opacity=50); opacity:0.5; } #Iall_screen { z-index:99; filter:alpha(opacity=50); opacity:0.5; } </style> <script type="text/javascript"> var $ = function (id) { //获取对象 return document.getElementById(id); }; var all_screen = function () { var div, iframe; document.body.innerHTML += '<div id="Dall_screen">&nbsp;<\/div><iframe id="Iall_screen" frameborder="0"><\/iframe>'; div = $("Dall_screen"), iframe = $("Iall_screen"); iframe.allowTransparency = true; //$("o").disabled = false; div.style.height = iframe.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + "px"; div.style.width = iframe.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth) + "px"; }; </script> </head> <body> 控制这个下拉框的般透明度<select id="o"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select><br> <input type="button" value="添加" onclick="all_screen()" /> </body> </html>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-07 20:35:347楼 得分:0
    顶一下帖子,要求效果:

    1.半透明效果
    2.遮盖select
    3.兼容firefox,ie6,7(其实ie7和firefox都没有问题,ie6确实欠揍)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-09 13:13:018楼 得分:0
    顶一下帖子
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-09 13:38:169楼 得分:10
    1.iframe做载体
    2.iframe遮select
    3.object遮select
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cgisir
    • 等级:
    发表于:2008-07-09 13:39:2110楼 得分:20
    引用 6 楼 mlw2000 的回复:
    尝试过,不起作用,因为我需要的是半透明的效果,一旦iframe设置allowTransparency之后,遮挡效果就没有了

    别设计 iframe的allowTransparency
    设置他的样式
    JScript code
    <iframe id="Iall_screen" frameborder="0" style="filter:alpha(opacity=0); opacity:0;"><\/iframe>
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved