<html>
<head>
<style type="text/css">
</style>
</head>
<body>
//背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
<input type="button" value="点击这里" onclick="sAlert()" />
<script type="text/javascript" language="javascript">
function sAlert(){
var msgw,msgh,bordercolor
msgw=250//提示窗口的宽度
msgh=100//提示窗口的高度
bordercolor="#336699"//提示窗口的边框颜色
titlecolor="#99CCFF"//提示窗口的标题颜色
//背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
var bgObj=document.createElement("div")//创建一个div对象(背景层)
//定义div属性
bgObj.setAttribute("id","bgDiv")
bgObj.style.position="absolute"
bgObj.style.top="0"
bgObj.style.background="#777"
bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"
bgObj.style.opacity="0.6"
bgObj.style.left="15%"
bgObj.style.width="85%"
bgObj.style.height="100%"
bgObj.style.zIndex = "10000"
document.body.appendChild(bgObj)//在body内添加该div对象
var msgObj=document.createElement("div")//创建一个div对象(提示框层)
//定义div属性,即相当于
msgObj.setAttribute("id","msgDiv")
msgObj.setAttribute("align","center")
msgObj.style.background="white"
msgObj.style.border="1px solid " + bordercolor
msgObj.style.position = "absolute"
msgObj.style.left = "65%"
msgObj.style.top = "50%"
msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"
msgObj.style.marginLeft = "-225px"
msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px"
msgObj.style.width = msgw + "px"
msgObj.style.height =msgh + "px"
msgObj.style.textAlign = "center"
msgObj.style.lineHeight ="25px"
msgObj.style.zIndex = "10001"
var title=document.createElement("h4")//创建一个h4对象(提示框标题栏)
//定义h4的属性,即相当于
//<h4 id="msgTitle" align="right" style="margin:0 padding:3px background-color:#336699 filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100) opacity:0.75 border:1px solid #336699 height:18px font:12px Verdana,Geneva,Arial,Helvetica,sans-serif color:white cursor:pointer" onclick="">关闭 </h4>
title.setAttribute("id","msgTitle")
title.setAttribute("align","right")
title.style.margin="0"
title.style.padding="3px"
title.style.background=bordercolor
title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100)"
title.style.opacity="0.7"
title.style.border="1px solid " + bordercolor
title.style.height="12px"
title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"
title.style.color="white"
title.style.cursor="pointer"
title.innerHTML="关闭"
title.onclick=removeObj
function removeObj(){//点击标题栏触发的事件
document.body.removeChild(bgObj)//删除背景层Div
document.getElementById("msgDiv").removeChild(title)//删除提示框的标题栏
document.body.removeChild(msgObj)//删除提示框层
}
document.body.appendChild(msgObj)//在body内添加提示框div对象msgObj
document.getElementById("msgDiv").appendChild(title)//在提示框div中添加标题栏对象title
var txt=document.createElement("p")//创建一个p对象(提示框提示信息)
txt.style.margin="1em 0"
txt.setAttribute("id","msgTxt")
txt.innerHTML='key:<input type="test" name="psd" /><br><input type ="button" value = "send" onclick= removeObj() >'
document.getElementById("msgDiv").appendChild(txt)//在提示框div中添加提示信息对象txt
}
</script>
</body>
</html>
jQuery Lightbox Plugin 这个jq的框架就是这么的效果。。。你看一下。http://www.qianduan.net/top-10-jquery-lightbox-scripts.html
这种就是点击弹出窗口,可以关闭,背景变暗,你所说的这几个需求都满足了。
补充:
还有这段代码。你试一下吧。
<!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" lang="zh-CN">
<head>
<!-- meta data -->
<meta http-equiv="Content-Language" content="zh-cn" />
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<meta name="robots" content="all" />
<meta name="author" content="在远方@www.jscode.cn" />
<meta name="Copyright" content="Copyright (c) jscode.cn" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" media="screen" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" media="screen" />
<meta name="description" content="网页特效观止" />
<meta name="keywords" content="网页特效,网页特效代码" />
<!-- site title -->
<title>点击弹出窗口层,并且背景变暗渐变---网页特效观止|www.jscode.cn|网页特效代码</title>
<style>
body {font-size:12pxbackground:#9EC7E7}
img {border:0px}
#msgDiv {
z-index:10001
width:500px
height:400px
background:white
border:#336699 1px solid
position:absolute
left:50%
top:20%
font-size:12px
margin-left:-225px
display: none
}
#bgDiv {
display: none
position: absolute
top: 0px
left: 0px
right:0px
background-color: #777
filter:progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75)
opacity: 0.6
}
</style>
<script type="text/javascript">
function showDetail() { //在远方www.jscode.cn
//背景
var bgObj=document.getElementById("bgDiv")
bgObj.style.width = document.body.offsetWidth + "px"
bgObj.style.height = screen.height + "px"
//定义窗口
var msgObj=document.getElementById("msgDiv")
msgObj.style.marginTop = -75 + document.documentElement.scrollTop + "px"
//关闭
document.getElementById("msgShut").onclick = function(){
bgObj.style.display = msgObj.style.display = "none"
}
msgObj.style.display = bgObj.style.display = "block"
msgDetail.innerHTML="<p align=center>小窗口里的内容</p><p align=center><A href=http://www.jscode.cn><FONT color=#0000ff>网页特效观止</FONT></A></p>"
}
</script>
</head>
<body>
<div id="msgDiv">
<div id="msgShut">
关闭</div>
<div id="msgDetail">
</div>
</div>
<div id="bgDiv">
</div>
<p> </p>
<p><a href="#" onClick="showDetail()">点击我试试看</a></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>更多网页特效代码尽在 <a href="http://www.jscode.cn/">网页特效观止</a></p>
</body>
</html>
<div class="page show-modal"><div class="container">主要内容</div>
<div class="modal">浮层</div>
</div>
假设有这样的HTML结构,那么让 .modal 绝对定位在 .container 上面,.container 设置 blur 即可。
.modal {display: none
position: fixed
left: 0
top: 0
right: 0
bottom: 0
background: rgba(255,255,255,.8)
}
.show-modal .modal {
display: block
}
.show-modal .container {
-webkit-filter: blur(4px)
}
演示:http://jsbin.com/nesewayosa/1/