這是一個實例,保存代碼為html文件運行試試吧。兼容火狐、ie6、ie7、ie8、Chrome等。
實例效果:
http:///keleyi/phtml/div/1.htm
完整代碼:
<!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>JS當前頁面登錄注冊框,固定DIV,底層陰影 - 計劃 - 博客園</title>
<!--
一個按鈕
點擊之後 顯示一個div
div要水平 垂直居中
當我浏覽器高度 寬度變化的時候
div依然水平 垂直居中
點擊遮罩層,浮動層隱藏
知識點:
.如何用css控制div水平垂直居中
.如何用js取得浏覽器高度寬度
.如何控制resize事件-->
<style type="text/css">
.hidden{ display:none}
/*評論浮動層*/
#smallLay{width:498px; height:100px;padding:4px 10px 10px;background-color:#FFFFFF;border:1px solid #05549d;color:#333333;line-height:24px;text-align:left;-webkit-box-shadow:5px 2px 6px #000;-moz-box-shadow:3px 3px 6px #555;}
</style>
</head>
<script type="text/javascript">
//判斷浏覽器ie6創建的div的樣式和非ie6創建的div的樣式
//創建div
function showid(idname) {
var isIE = (document.all) ? true : false;
var isIE6 = isIE && ([/MSIE (\d)\.0/i.exec(navigator.userAgent)][0][1] == 6);
var newbox = document.getElementById(idname);
newbox.style.zIndex = "9999";
newbox.style.display = "block"
newbox.style.position = !isIE6 ? "fixed" : "absolute";
newbox.style.top = newbox.style.left = "50%";
newbox.style.marginTop = -newbox.offsetHeight / 2 + "px";
newbox.style.marginLeft = -newbox.offsetWidth / 2 + "px";
var jihualayer = document.createElement("div");
jihualayer.id = "jihualayer";
jihualayer.style.width = jihualayer.style.height = "100%";
jihualayer.style.position = !isIE6 ? "fixed" : "absolute";
jihualayer.style.top = jihualayer.style.left = 0;
jihualayer.style.backgroundColor = "#000";
jihualayer.style.zIndex = "9998";
jihualayer.style.opacity = "0.6";
document.body.appendChild(jihualayer);
var sel = document.getElementsByTagName("select");
for (var i = 0; i < sel.length; i++) {
sel[i].style.visibility = "hidden";
}
function jihualayer_iestyle() {
jihualayer.style.width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth)
+ "px";
jihualayer.style.height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) +
"px";
}
function newbox_iestyle() {
newbox.style.marginTop = document.documentElement.scrollTop - newbox.offsetHeight / 2 + "px";
newbox.style.marginLeft = document.documentElement.scrollLeft - newbox.offsetWidth / 2 + "px";
}
if (isIE) { jihualayer.style.filter = "alpha(opacity=60)"; }
if (isIE6) {
jihualayer_iestyle()
newbox_iestyle();
window.attachEvent("onscroll", function () {
newbox_iestyle();
})
window.attachEvent("onresize", jihualayer_iestyle)
}
jihualayer.onclick = function () {
newbox.style.display = "none"; jihualayer.style.display = "none"; for (var i = 0; i < sel.length; i++) {
sel[i].style.visibility = "visible";
}
}
}
</script>
<body>
<div style="width:200px; height:100px;"></div>
<input name="" type="button" id="showbtn" value="點擊顯示" onclick="showid('smallLay')" />
<!--收藏浮層開始-->
<div id="smallLay" style="display:none" >
這<a href="http://" style="text-decoration:none; color:Gray;">是</a>懸浮層
</div>
<!--收藏浮層結束-->
<div id="a" style="height:1000px;">這<a href="http://" style="text-decoration:none; color:Black;">是</a>普通層 <a href="http:///a/bjac/fybj7dyi.htm" target="_blank">原文</a></div>
</body>
</html>