jQuery實(shí)現(xiàn)彈出帶遮罩層的居中浮動(dòng)窗口效果
本文實(shí)例講述了jQuery實(shí)現(xiàn)彈出帶遮罩層的居中浮動(dòng)窗口效果。分享給大家供大家參考,具體如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>pop window</title>
<style>
*{
padding: 0;
margin: 0;
}
.hide{
display: none;
}
.popWindow{
width: 300px;
height: 300px;
background: #abcdef;
padding: 2px;
margin: 10px;
position: absolute;
left: 0;
top: 0;
z-index: 2;
}
.popWindow h3{
height: 30px;
line-height: 30px;
}
.popWindow h3 span{
float: right;
font-size: 14px;
font-weight: normal;
cursor: pointer;
}
.popWindow h3 span:hover{
color: #f00;
}
.popWindow .content{
height: 270px;
background: #fff;
}
.mask{
background: #000;
opacity: 0.4;
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
</style>
</head>
<body style="width:2000px">
<a href="javascript:;" id="show">顯示窗口</a>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div class="popWindow hide">
<h3>彈出窗口的標(biāo)題<span>關(guān)閉</span></h3>
<div class="content">彈出窗口的內(nèi)容</div>
</div>
<script src="jquery-1.7.2.min.js"></script>
<script>
$(function(){
var oBtn = $('#show');
var popWindow = $('.popWindow');
var oClose = $('.popWindow h3 span');
//瀏覽器可視區(qū)域的寬度
var browserWidth = $(window).width();
//瀏覽器可視區(qū)域的高度
var browserHeight = $(window).height();
//瀏覽器縱向滾動(dòng)條距離上邊界的值
var browserScrollTop = $(window).scrollTop();
//瀏覽器橫向滾動(dòng)條距離左邊界的值
var browserScrollLeft = $(window).scrollLeft();
//彈出窗口的寬度
var popWindowWidth = popWindow.outerWidth(true);
//彈出窗口的高度
var popWindowHeight = popWindow.outerHeight(true);
//left的值=瀏覽器可視區(qū)域的寬度/2-彈出窗口的寬度/2+瀏覽器橫向滾動(dòng)條距離左邊界的值
var positionLeft = browserWidth/2 - popWindowWidth/2+browserScrollLeft;
//top的值=瀏覽器可視區(qū)域的高度/2-彈出窗口的高度/2+瀏覽器縱向滾動(dòng)條距離上邊界的值
var positionTop = browserHeight/2 - popWindowHeight/2+browserScrollTop;
var oMask = '<div class="mask"></div>'
//遮照層的寬度
var maskWidth = $(document).width();
//遮照層的高度
var maskHeight = $(document).height();
oBtn.click(function(){
popWindow.show().animate({
'left':positionLeft+'px',
'top':positionTop+'px'
},500);
$('body').append(oMask);
$('.mask').width(maskWidth).height(maskHeight);
});
$(window).resize(function(){
if(popWindow.is(':visible')){
browserWidth = $(window).width();
browserHeight = $(window).height();
positionLeft = browserWidth/2 - popWindowWidth/2+browserScrollLeft;
positionTop = browserHeight/2 - popWindowHeight/2+browserScrollTop;
popWindow.animate({
'left':positionLeft+'px',
'top':positionTop+'px'
},500);
}
});
$(window).scroll(function(){
if(popWindow.is(':visible')){
browserScrollTop = $(window).scrollTop();
browserScrollLeft = $(window).scrollLeft();
positionLeft = browserWidth/2 - popWindowWidth/2+browserScrollLeft;
positionTop = browserHeight/2 - popWindowHeight/2+browserScrollTop;
popWindow.animate({
'left':positionLeft+'px',
'top':positionTop+'px'
},500).dequeue();
}
});
oClose.click(function(){
popWindow.hide();
$('.mask').remove();
});
});
</script>
</body>
</html>
運(yùn)行效果圖如下:

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- JS遮罩層效果 兼容ie firefox jQuery遮罩層
- JQuery 遮罩層實(shí)現(xiàn)(mask)實(shí)現(xiàn)代碼
- jQuery操作dom實(shí)現(xiàn)彈出頁(yè)面遮罩層(web端和移動(dòng)端阻止遮罩層的滑動(dòng))
- jQuery阻止移動(dòng)端遮罩層后頁(yè)面滾動(dòng)
- jQuery實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)遮罩層/彈出層效果兼容IE6、IE7
- Jquery實(shí)現(xiàn)遮罩層的簡(jiǎn)單實(shí)例(就是彈出DIV周?chē)蓟疑荒懿僮?
- jQuery+AJAX實(shí)現(xiàn)遮罩層登錄驗(yàn)證界面(附源碼)
- jQuery點(diǎn)擊按鈕彈出遮罩層且內(nèi)容居中特效
- Jquery實(shí)現(xiàn)遮罩層的方法
- jQuery實(shí)現(xiàn)打開(kāi)網(wǎng)頁(yè)自動(dòng)彈出遮罩層或點(diǎn)擊彈出遮罩層功能示例
- JavaScript實(shí)現(xiàn)的彈出遮罩層特效經(jīng)典示例【基于jQuery】
相關(guān)文章
jQuery實(shí)現(xiàn)隔行變色的方法分析(對(duì)比原生JS)
這篇文章主要介紹了jQuery實(shí)現(xiàn)隔行變色的方法,結(jié)合實(shí)例形式對(duì)比原生JS實(shí)現(xiàn)隔行變色的相關(guān)技巧,給出了2種jQuery實(shí)現(xiàn)隔行變色的方法,需要的朋友可以參考下2016-11-11
Jquery屬性的獲取/設(shè)置及樣式添加/刪除操作技巧分析
這篇文章主要介紹了Jquery屬性的獲取/設(shè)置及樣式添加/刪除操作技巧,結(jié)合實(shí)例形式分析了jquery針對(duì)屬性與樣式的相關(guān)獲取、設(shè)置、添加、刪除等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-12-12
jQuery綁定點(diǎn)擊事件與改變事件的方式總結(jié)及多個(gè)元素綁定多個(gè)事件
我們一說(shuō)到j(luò)Query中對(duì)于元素的修改,就是元素的內(nèi)容、屬性、樣式的修改,下面這篇文章主要給大家介紹了關(guān)于jQuery綁定點(diǎn)擊事件與改變事件的方式總結(jié)及多個(gè)元素綁定多個(gè)事件的相關(guān)資料,需要的朋友可以參考下2022-12-12
網(wǎng)站如何做到完全不需要jQuery也可以滿足簡(jiǎn)單需求
據(jù)統(tǒng)計(jì),目前全世界57.3%的網(wǎng)站使用它。也就是說(shuō),10個(gè)網(wǎng)站里面,有6個(gè)使用jQuery。如果只考察使用工具庫(kù)的網(wǎng)站,這個(gè)比例就會(huì)上升到驚人的91.7%2013-06-06
jquery判斷checkbox(復(fù)選框)是否被選中的代碼
現(xiàn)在很多朋友都喜歡使用jquery了,所以很多的表格判斷都是基于jquery的,但實(shí)現(xiàn)方法與javascript原生代碼不同,對(duì)于checkbox的判斷大家可以參考下。2010-10-10
基于jQuery全屏焦點(diǎn)圖左右切換插件responsiveslides
這篇文章主要介紹了基于jQuery全屏焦點(diǎn)圖左右切換插件responsiveslides的相關(guān)資料,需要的朋友可以參考下2015-09-09
基于jQuery實(shí)現(xiàn)以手風(fēng)琴方式展開(kāi)和折疊導(dǎo)航菜單
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)以手風(fēng)琴方式展開(kāi)和折疊導(dǎo)航菜單的相關(guān)資料,需要的朋友可以參考下2016-01-01
jQuery實(shí)現(xiàn)點(diǎn)擊水紋波動(dòng)動(dòng)畫(huà)
今天要為大家紹一款由jquery實(shí)現(xiàn)的鼠標(biāo)單擊出現(xiàn)水波特效。用鼠標(biāo)點(diǎn)擊頁(yè)面,你可以看到頁(yè)面不斷出面水波紋效果。然后水波紋漸漸消失。效果非常不錯(cuò)2016-04-04
JQuery移動(dòng)頁(yè)面開(kāi)發(fā)之屏幕方向改變與滾屏的實(shí)現(xiàn)
這篇文章主要介紹了JQuery移動(dòng)頁(yè)面開(kāi)發(fā)之隨屏幕方向改變與滾屏的實(shí)現(xiàn),通過(guò)相關(guān)兩個(gè)事件的添加來(lái)達(dá)到響應(yīng)移動(dòng)設(shè)備上操作的效果,需要的朋友可以參考下2015-12-12

