先上個效果圖,可以點擊Close按鈕或是在遮罩層上任意處點擊,就可以關閉彈出層。
HTML代碼
代碼如下:
<div id='pop-div' style="width: 300px" class="pop-box" >
<h4>標題位置</h4>
<div class="pop-box-body" >
<p>
正文內容
</p>
</div>
<div class='buttonPanel' style="text-align: right" style="text-align: right">
<input value="Close" id="btn1" onclick="hideDiv('pop-div');" type="button" />
</div>
</div>
代碼很簡潔。最外層是一個大的DIV作為彈出層的容器,H4作為彈出層的標題,又一個DIV用於彈出層正文內容顯示,再一個Div用於放置一些按鈕。
CSS代碼
代碼如下:
.pop-box {
z-index: 9999; /*這個數值要足夠大,才能夠顯示在最上層*/
margin-bottom: 3px;
display: none;
position: absolute;
background: #FFF;
border:solid 1px #6e8bde;
}
.pop-box h4 {
color: #FFF;
cursor:default;
height: 18px;
font-size: 14px;
font-weight:bold;
text-align: left;
padding-left: 8px;
padding-top: 4px;
padding-bottom: 2px;
background: url("../images/header_bg.gif") repeat-x 0 0;
}
.pop-box-body {
clear: both;
margin: 4px;
padding: 2px;
}
JS代碼
代碼如下:
function popupDiv(div_id) {
var div_obj = $("#"+div_id);
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var popupHeight = div_obj.height();
var popupWidth = div_obj.width();
//添加並顯示遮罩層
$("<div id='mask'></div>").addClass("mask")
.width(windowWidth * 0.99)
.height(windowHeight * 0.99)
.click(function() {hideDiv(div_id); })
.appendTo("body")
.fadeIn(200);
div_obj.css({"position": "absolute"})
.animate({left: windowWidth/2-popupWidth/2,
top: windowHeight/2-popupHeight/2, opacity: "show" }, "slow");
}
function hideDiv(div_id) {
$("#mask").remove();
$("#" + div_id).animate({left: 0, top: 0, opacity: "hide" }, "slow");
}