宝玉
专注于web开发技术
随笔 - 114, 评论 - 1501 , 引用 - 581
导航
首页
联系
登录
公告
文章分类
Asp.Net
Asp.Net Forums
Web Controls
收藏的技术文章
脚本语言
转贴文章
存档
2006年6月 (1)
2006年4月 (1)
2006年2月 (1)
2005年6月 (1)
2005年3月 (1)
2005年1月 (5)
2004年12月 (8)
2004年11月 (7)
2004年10月 (5)
2004年9月 (3)
2004年8月 (12)
2004年7月 (11)
2004年6月 (10)
2004年5月 (9)
2004年4月 (39)
随笔分类
Asp.Net Forums
(rss)
MM和我
(rss)
技术类
(rss)
软件发布
(rss)
非技术类
(rss)
相册
16191
CS
其他
技术图片
搞笑图片
生活照片
娱乐
MM的Blog
开放实验室
我们自己的Blog
(rss)
技术
.Text 最新版下载地址
.Text发布地址
一个asp.net论坛
一个论坛
博客园
(rss)
博客堂
(rss)
无忧脚本
朋友blog
Bestcomy.net Web Log
中国Rainbow
让层遮挡select
现在不是简单的隐藏select了,对于IE5.5+,可以直接遮挡select
<script language="javascript"> var ie55up = IsIE55Up(); var overIframe = null; function DivOver(objID) { var obj = document.all[objID]; // 只有IE5.5以上Iframe的z-index才有效 if (ie55up) { if (overIframe == null) { overIframe = document.createElement("<iframe src='about:blank' style='position:absolute;left:0;top:0;z-index:998;display:none' scrolling='no' frameborder='0'></iframe>"); } document.body.insertAdjacentElement("beforeEnd",overIframe); with(overIframe.style) { top = obj.style.top; left = obj.style.left; width = obj.offsetWidth; height = obj.offsetHeight; display = 'block'; } obj.style.zIndex = "999"; } else // 隐藏被ID为objID的对象(层)遮挡的所有select { var sels = document.getElementsByTagName('select'); for (var i = 0; i < sels.length; i++) if (Obj1OverObj2(document.all[objID], sels[i])) sels[i].style.visibility = 'hidden'; } } //判断obj1是否遮挡了obj2 function Obj1OverObj2(obj1, obj2) { var pos1 = getPosition(obj1) var pos2 = getPosition(obj2) var result = true; var obj1Left = pos1.left - window.document.body.scrollLeft; var obj1Top = pos1.top - window.document.body.scrollTop; var obj1Right = obj1Left + obj1.offsetWidth; var obj1Bottom = obj1Top + obj1.offsetHeight; var obj2Left = pos2.left - window.document.body.scrollLeft; var obj2Top = pos2.top - window.document.body.scrollTop; var obj2Right = obj2Left + obj2.offsetWidth; var obj2Bottom = obj2Top + obj2.offsetHeight; if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || obj1Left >= obj2Right || obj1Top >= obj2Bottom) result = false; return result; } // 获取对象的坐标 function getPosition(Obj) { for (var sumTop=0,sumLeft=0;Obj!=window.document.body;sumTop+=Obj.offsetTop,sumLeft+=Obj.offsetLeft, Obj=Obj.offsetParent); return {left:sumLeft,top:sumTop} } // 是否IE5.5以上版本 function IsIE55Up () { var agt = navigator.userAgent.toLowerCase(); var isIE = (agt.indexOf("msie")!=-1); if (isIE) { var stIEVer = agt.substring(agt.indexOf("msie ") + 5); var verIEFull = parseFloat(stIEVer); return verIEFull >= 5.5; } return false; } </script> <script> window.onload = function(){DivOver("div1")} </script> <div style="position: absolute;left:10px;top:20px;width:200px;height:85px;border:1px solid red;" id="div1"> 看看现在这个层下面的select不是简单的隐藏了:) </div> <select name=""> <option>test1</option> <option>test2</option> <option>test3</option> </select> <P /> <select name=""> <option>test1test1test1test1test1test1test1test1test1test1test1test1test1test1</option> <option>test2</option> <option>test3</option> </select> <P /> <select name=""> <option>test1</option> <option>test2</option> <option>test3</option> </select> <P />
发表于 2004年8月4日 8:44
评论
#
re: 让层遮挡select
感谢,好东西
2004-8-4 10:44 |
bestcomy
#
re: 让层遮挡select
很好,可以用:)
2004-8-5 4:48 |
wbird
#
re: 让层遮挡select
很好,可以用:)
2004-8-5 4:48 |
wbird
#
re: 让层遮挡select
xihuan
2004-8-12 0:48 |
仪千峰
#
re: 让层遮挡select
支持
2004-11-14 7:05 |
ylhyh
#
re: 让层遮挡select
好文章要支持
2004-11-14 7:06 |
ylhyh
#
请教一个问题
您做的这个div层是不透明的,能不能做成透明的,并且也能遮挡住select呢?
盼望回答,多谢
icethunder@vip.sina.com
这是我的信箱,再次感谢
2005-7-2 4:03 |
masterice
#
re: 让层遮挡select
但是,如果,这些select是分别放在<td></td>之间的话,这个就不起作用了啊
2008-8-22 2:57 |
何宜棠
Post Comment
主题
姓名
主页
校验码
内容
记住我的信息
Powered by:
Copyright © 宝玉
京ICP备 05050892号