Posted in Javascript onJuly 03, 2009
先上个效果图,可以点击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"); }
jQuery DIV弹出效果实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@