社区
CSS
帖子详情
层(layer)怎样放在列表框(select)的上面,盖住列表框。
lzzhbin
2003-09-22 03:42:51
层(layer)怎样放在列表框(select)的上面,盖住列表框。
...全文
251
9
打赏
收藏
层(layer)怎样放在列表框(select)的上面,盖住列表框。
层(layer)怎样放在列表框(select)的上面,盖住列表框。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wlboy110
2003-12-24
打赏
举报
回复
如果是用iframe的话,层背景就不能是透明的了,我现在需要做的是一个漂动的层,那怎么办?
77334683
2003-10-17
打赏
举报
回复
up跟着学习
52design
2003-10-16
打赏
举报
回复
一般我都是用iframe解决
这样方便且实用 :)
yzxlyd
2003-10-16
打赏
举报
回复
up
zrla
2003-10-16
打赏
举报
回复
up
wangfeng002
2003-09-24
打赏
举报
回复
这是我以前看过的动动,直接贴出来,请你参考一下吧!!
当层遇到下拉框时总是挡不了select框?其实这是IE的BUG,其它的浏览器没有这个问题。
1.最直接的方法:隐藏下拉框.
下面提供的是一个比较通用的一组函数:
test.htm
------------
<script>
var HideElementTemp = new Array();
//点击菜单时,调用此的函数,菜单对象
function cal_hideElementAll(obj){
cal_HideElement("IMG",obj);
cal_HideElement("SELECT",obj);
cal_HideElement("OBJECT",obj);
cal_HideElement("IFRAME",obj);
}
function cal_HideElement(strElementTagName,obj){
try{
var showDivElement = obj;
var calendarDiv = obj;
var intDivLeft = cal_GetOffsetLeft(showDivElement);
var intDivTop = cal_GetOffsetTop(showDivElement);//+showDivElement.offsetHeight;
//HideElementTemp=new Array()
for(i=0;i<window.document.all.tags(strElementTagName).length; i++){
var objTemp = window.document.all.tags(strElementTagName)[i];
if(!objTemp||!objTemp.offsetParent)
continue;
var intObjLeft=cal_GetOffsetLeft(objTemp);
var intObjTop=cal_GetOffsetTop(objTemp);
if(((intObjLeft+objTemp.clientWidth)>intDivLeft)&&
(intObjLeft<intDivLeft+calendarDiv.style.posWidth)&&
(intObjTop+objTemp.clientHeight>intDivTop)&&
(intObjTop<intDivTop+calendarDiv.style.posHeight)){
//var intTempIndex=HideElementTemp.length;//已经有的长度
//save elementTagName is stutas
//HideElementTemp[intTempIndex]=new Array(objTemp,objTemp.style.visibility);
HideElementTemp[HideElementTemp.length]=objTemp
objTemp.style.visibility="hidden";
}
}
}catch(e){alert(e.message)
}
}
function cal_ShowElement(){
var i;
for(i=0;i<HideElementTemp.length; i++){
var objTemp = HideElementTemp[i]
if(!objTemp||!objTemp.offsetParent)
continue;
objTemp.style.visibility=''
}
HideElementTemp=new Array();
}
function cal_GetOffsetLeft(src){
var set=0;
if(src && src.name!="divMain"){
if (src.offsetParent){
set+=src.offsetLeft+cal_GetOffsetLeft(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
var x=parseInt(src.scrollLeft,10);
if(!isNaN(x))
set-=x;
}
}
return set;
}
function cal_GetOffsetTop(src){
var set=0;
if(src && src.name!="divMain"){
if (src.offsetParent){
set+=src.offsetTop+cal_GetOffsetTop(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
var y=parseInt(src.scrollTop,10);
if(!isNaN(y))
set-=y;
}
}
return set;
}
</script>
<select></select>
<select></select>
<div style="position:absolute;left:0;top:0;width:100;height:100;background-color:red" onclick="cal_hideElementAll(this)">
点击让select隐藏
</div>
<br><br><br><br><br><br>
<input type="button" value="点击让select显示" onclick="cal_ShowElement()">
以上这种方法,如果对于select框数目少,相对固定的话,直接用obj.style.visibility="hidden"这样进行隐藏是更直接的.
2.Object对象的优先度较高,可以挡住select框
<OBJECT id=aa style="display:none;z-index:1000; position:absolute; top:0; left:0; width:152; height: 200;" type="text/x-scriptlet" data="about:<body><div style='position:absolute;left:0;top:0;width:152;height:200;font:14;color:white;background:black;border:1 solid black'>test</div>"></OBJECT>
<select><option>hellohellohellohello</select><button onclick=aa.style.display=aa.style.display=="none"?"":"none">test</button>
这种方法虽然也简单,但对复杂的层是来说还不是好的解决方法
3.用iframe作载体
以下是一简单的例子:
-----------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>简单菜单</title>
<!--
提供定位函数,用iframe作载体,不会被select挡住
By Fason(2003-5-21)
-->
<style id=s>
#div1{
position:absolute;
z-index:100;
width:100;
height:130;
background-color:#d2e8ff;
border:1 solid black;
}
div{cursor:hand;font-size:12px;}
a{text-decoration:none;color:red;font-size:12px}
</style>
</head>
<body>
<script>
function window.onload(){
var shtml=div1.innerHTML;
var ifm=document.createElement("<iframe frameborder=0 marginheight=0 marginwidth=0 hspace=0 vspace=0 scrolling=no></iframe>")
ifm.style.width=div1.offsetWidth
ifm.style.height=div1.offsetHeight
ifm.name=ifm.uniqueID
div1.innerHTML=""
div1.appendChild(ifm)
window.frames[ifm.name].document.write(s.outerHTML+"<body leftmargin=0 topmargin=0>"+shtml+"</body>")
}
function show(){
with(document.all.img1){
x=offsetLeft;
y=offsetTop;
objParent=offsetParent;
while(objParent.tagName.toUpperCase()!= "BODY"){
x+=objParent.offsetLeft;
y+=objParent.offsetTop;
objParent = objParent.offsetParent;
}
y+=offsetHeight-1
}
with(document.all.div1.style){
pixelLeft=x
pixelTop=y
visibility=''
}
}
function hide(){
document.all.div1.style.visibility='hidden'
}
</script>
<img id=img1 onmouseover="show()" onmouseout="hide()" src="ie.gif"><br><select></select>
<div id=div1 onmouseover="style.visibility=''" onmouseout="style.visibility='hidden'" style="visibility:hidden;">
<div href="http://www.csdn.net" onmouseover="style.backgroundColor='highlight'" onmouseout="style.backgroundColor=''" onclick="window.open(href)">中国程序员</div>
<div href="http://www.sohu.com" onmouseover="style.backgroundColor='highlight'" onmouseout="style.backgroundColor=''" onclick="window.open(href)">sohu</div>
</div>
</body>
</html>
kinglately
2003-09-23
打赏
举报
回复
没办法,M$的办法是显示layer的时候隐藏select,还有一种办法是用js模拟一个select,你在我的主页看看,左边的那个就是模拟的,你看看代码应该明白:)
http://asp.7i24.com/kinglate
tsstudio
2003-09-22
打赏
举报
回复
IE6也不行,用JS把select隐藏吧(when the layer in on)。
balloy
2003-09-22
打赏
举报
回复
Ie6也许有希望把,Ie5肯定不能直接盖了。
不过,可以把layer放在iframe里,就是比较烦
Layer
插件中设置
Select
组件默认选中值的方法
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在修改代码时,由于城市下拉列表是从数据库中查询出来的,我回想起之前使用过的一个方法。当需要重新渲染
select
元素时,只需将未渲染的元素按照原本的设置值进行赋值,然后对通过
layer
渲染出来的页面样式重新渲染一次即可。例如: 这样就可以完成重新渲染的操作,确保页面显示的内容与设置的值一致。
layui
layer
select
选择被遮挡的解决方法
今天小编就为大家分享一篇layui
layer
select
选择被遮挡的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
jq表单框架jqtransform的常用事例
对jq表单框架jqtransform的常用事例,实现复选,单选,表单列表,输入框设置只读,下拉框,弹出框使用
layer
框架
open
layer
-Identify:基于Open
layer
的Control方式,仿照Arcgis desktop的Identify,包含所有动画和界面都非第三方插件
open
layer
-Identify 基于Open
layer
的Control方式,仿照Arcgis desktop的Identify,包含所有动画和界面都非第三方插件 效果展示图 one 仿照Arcgis的功能特性 1. 图
层
类型选择器,包括(所有图
层
、可见图
层
、最
上面
的图
层
以及图
层
树列表) 2. 工具栏(框选、隐藏树列表、隐藏表格、缩放至、清除) 3. 选择结果树状展示列表 4. 属性展示表格 效果展示图 two 地图图
层
的点动画 1.采用css动画,避免数据加载太多,导致卡顿 2.仿照抛物线 效果展示图 支持点选和框选 1.支持框选,框选下能查找最
上面
的图
层
2.支持点选,点选下查找最
上面
图
层
,只能得到一个 额外 包含了
select
组件、树状列表组件、表格组件、工具栏组件,均为没有引入第三方插件 使用方法 引入ol-Identify.js (暂时没有上传到npm上)
layer
弹出
层
使用之
select
标记
layer
前端框架,追求极简,喜欢的风格。好看是好看,用起来比较dt,,,,, 今天打算写一个通用的方法:通过ajax请求后台数据,显示在
select
下拉列表里面。 下面是这个方法: function load
Select
or(url, id, objName, textName, valueName, config,func,selValue) { $.post(url,config,f
CSS
61,124
社区成员
60,705
社区内容
发帖
与我相关
我的任务
CSS
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
复制链接
扫一扫
分享
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章