css弹出层+屏蔽背景页面(兼容fiefox) (转)
2007-08-07 16:19
453 查看
转自:http://blog.csdn.net/isonchen/archive/2007/07/11/1685770.aspx
只想弹出一个能居中的层
能有屏蔽背景页面并且是半透明效果
能解决下拉框优先度太高的问题
今天用了一个下午的时间整理,把这3个问题都解决了,而且用的是最简洁的代码实现,而且兼容IE和Firefox浏览器,因此,当我完成这个的时候,真的很高兴,希望能对大家有帮助。
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%/*
通用弹出层页面(兼容IE、firefox)
作者:陈满森
创建时间:2007-7-11 最后修改时间:2007-7-11
说明:
1.openWindows(width,height)----打开弹出层调用的函数,可控制层的宽度和高度
2.hiddenWindows()----关闭弹出层调用函数
3._displaySelect()----隐藏下拉框标签,因为它的优先度太高
4.<div id="LockWindows">----用于实现屏蔽弹出层以下的页面
5.<div id="WindowDIV">----用于显示弹出层的内容
例子(空格自己去掉):
在需要弹出层的页面引用< %@ include file="../common/common_openWindows.jsp"% >
< input type="button" onclick="openWindows('800','700');" value="编辑" / >
< input type="button" onclick="hiddenWindows();" value="关闭" / >
*/%>
<style type="text/css">
#LockWindows{
position:absolute; top:10px; left:10px; background-color:#777777; z-index:2; display:none;
/* Moz Family使用私有属性-moz-opacity: 0.70 */
/* IE 使用私有属性filter */
/* 标准属性opacity支持CSS3的浏览器(FF 1.5也支持)*/
opacity: 0.70;
filter : progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=70,finishOpacity=100);
width:expression(documentElement.clientWidth < 900?(documentElement.clientWidth==0?(body.clientWidth<900?'900':'auto'):'900px'):'auto');
}
#WindowDIV{position:absolute; z-index:3; background-color:#FFFFFF; border:#000000 solid 1px; display:none;}
</style>
<script type="text/javascript">
//隐藏下拉框,以解决下拉框优先度太高的问题,
function _displaySelect(){
var selects=document.getElementsByTagName("select");//整个页面的所有下拉框
var objWindow = $("WindowDIV");
var DIVselects = objWindow.getElementsByTagName("select");//整个弹出层的所有下拉框
for(var i=0;i<selects.length;i++){
if(selects[i].style.visibility){
selects[i].style.visibility="";
}else{
selects[i].style.visibility="hidden";
for(var j=0; i<DIVselects.length; j++){
DIVselects[j].style.visibility="";
}
}
}
}
function openWindows(width,height){
var objWindow = $("WindowDIV");
var objLock = $("LockWindows");//这个是用于在IE下屏蔽内容用
objLock.style.display="block";
objLock.style.width=document.body.clientWidth+"px";
objLock.style.height=document.body.clientHeight+"px";
objLock.style.minWidth=document.body.clientWidth+"px";
objLock.style.minHeight=document.body.clientHeight+"px";
// 判断输入的宽度和高度是否大于当前浏览器的宽度和高度
if(width>document.body.clientWidth) width = document.body.clientWidth+"px";
if(height>document.body.clientHeight) height = document.body.clientHeight+"px";
objWindow.style.display='block';
objWindow.style.width = width+"px";
objWindow.style.height = height+"px";
// 将弹出层居中
objWindow.style.left=(document.body.offsetWidth-width)/2+"px";
objWindow.style.top=(document.body.offsetHeight-height)/2+"px";
_displaySelect();
}
function hiddenWindows(){
$("LockWindows").style.display='none';
$("WindowDIV").style.display='none';
_displaySelect();
}
</script>
<div id="LockWindows"> </div>
<div id="WindowDIV">
<%@ include file="../examination/openEditerDiv.jsp"%>
</div>
只想弹出一个能居中的层
能有屏蔽背景页面并且是半透明效果
能解决下拉框优先度太高的问题
今天用了一个下午的时间整理,把这3个问题都解决了,而且用的是最简洁的代码实现,而且兼容IE和Firefox浏览器,因此,当我完成这个的时候,真的很高兴,希望能对大家有帮助。
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%/*
通用弹出层页面(兼容IE、firefox)
作者:陈满森
创建时间:2007-7-11 最后修改时间:2007-7-11
说明:
1.openWindows(width,height)----打开弹出层调用的函数,可控制层的宽度和高度
2.hiddenWindows()----关闭弹出层调用函数
3._displaySelect()----隐藏下拉框标签,因为它的优先度太高
4.<div id="LockWindows">----用于实现屏蔽弹出层以下的页面
5.<div id="WindowDIV">----用于显示弹出层的内容
例子(空格自己去掉):
在需要弹出层的页面引用< %@ include file="../common/common_openWindows.jsp"% >
< input type="button" onclick="openWindows('800','700');" value="编辑" / >
< input type="button" onclick="hiddenWindows();" value="关闭" / >
*/%>
<style type="text/css">
#LockWindows{
position:absolute; top:10px; left:10px; background-color:#777777; z-index:2; display:none;
/* Moz Family使用私有属性-moz-opacity: 0.70 */
/* IE 使用私有属性filter */
/* 标准属性opacity支持CSS3的浏览器(FF 1.5也支持)*/
opacity: 0.70;
filter : progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=70,finishOpacity=100);
width:expression(documentElement.clientWidth < 900?(documentElement.clientWidth==0?(body.clientWidth<900?'900':'auto'):'900px'):'auto');
}
#WindowDIV{position:absolute; z-index:3; background-color:#FFFFFF; border:#000000 solid 1px; display:none;}
</style>
<script type="text/javascript">
//隐藏下拉框,以解决下拉框优先度太高的问题,
function _displaySelect(){
var selects=document.getElementsByTagName("select");//整个页面的所有下拉框
var objWindow = $("WindowDIV");
var DIVselects = objWindow.getElementsByTagName("select");//整个弹出层的所有下拉框
for(var i=0;i<selects.length;i++){
if(selects[i].style.visibility){
selects[i].style.visibility="";
}else{
selects[i].style.visibility="hidden";
for(var j=0; i<DIVselects.length; j++){
DIVselects[j].style.visibility="";
}
}
}
}
function openWindows(width,height){
var objWindow = $("WindowDIV");
var objLock = $("LockWindows");//这个是用于在IE下屏蔽内容用
objLock.style.display="block";
objLock.style.width=document.body.clientWidth+"px";
objLock.style.height=document.body.clientHeight+"px";
objLock.style.minWidth=document.body.clientWidth+"px";
objLock.style.minHeight=document.body.clientHeight+"px";
// 判断输入的宽度和高度是否大于当前浏览器的宽度和高度
if(width>document.body.clientWidth) width = document.body.clientWidth+"px";
if(height>document.body.clientHeight) height = document.body.clientHeight+"px";
objWindow.style.display='block';
objWindow.style.width = width+"px";
objWindow.style.height = height+"px";
// 将弹出层居中
objWindow.style.left=(document.body.offsetWidth-width)/2+"px";
objWindow.style.top=(document.body.offsetHeight-height)/2+"px";
_displaySelect();
}
function hiddenWindows(){
$("LockWindows").style.display='none';
$("WindowDIV").style.display='none';
_displaySelect();
}
</script>
<div id="LockWindows"> </div>
<div id="WindowDIV">
<%@ include file="../examination/openEditerDiv.jsp"%>
</div>
相关文章推荐
- css弹出层+屏蔽背景页面(兼容fiefox
- css弹出层+屏蔽背景页面(兼容fiefox) (转)
- 通用弹出层页面(兼容IE、firefox)可关闭控制宽高及屏蔽背景
- js+css控制弹出小窗口之后,后整个页面背景图变色,并且不可操作,点击确定,页面跳转。。。
- JavaScript弹出DIV层,页面背景渐变成半透明
- 前台页面弹出div,背景变灰
- 从自动变换页面背景CSS改写成变换背景图
- 页面元素固定在页面底部的纯css代码(兼容IE6)
- div+css 如何让背景层半透明 内容不透明 并且能兼容ie6,ie7,ie8,ff 【转】
- css实现弹出框在页面居中
- 修复弹出JavaScript对话框时页面背景变白的问题
- .Net : webBrowser弹出新页面,在当前Form窗体打开,可设置屏蔽当前网页的js错误。。。。
- asp.net 页面弹出层,背景变灰不能操作
- CSS——图片与页面背景
- 移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
- 【搬运】CSS实现背景透明,文字不透明,兼容所有浏览器
- CSS实现背景透明,文字不透明(兼容各浏览器)
- [原创] 纯css漂浮广告页面垂直居中(兼容IE6、IE7、Firefox2.0)
- CSS制作自动弹出介绍页面