jQuery實現(xiàn)彈出帶遮罩層的居中浮動窗口效果
本文實例講述了jQuery實現(xiàn)彈出帶遮罩層的居中浮動窗口效果。分享給大家供大家參考,具體如下:
<!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>彈出窗口的標題<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();
//瀏覽器縱向滾動條距離上邊界的值
var browserScrollTop = $(window).scrollTop();
//瀏覽器橫向滾動條距離左邊界的值
var browserScrollLeft = $(window).scrollLeft();
//彈出窗口的寬度
var popWindowWidth = popWindow.outerWidth(true);
//彈出窗口的高度
var popWindowHeight = popWindow.outerHeight(true);
//left的值=瀏覽器可視區(qū)域的寬度/2-彈出窗口的寬度/2+瀏覽器橫向滾動條距離左邊界的值
var positionLeft = browserWidth/2 - popWindowWidth/2+browserScrollLeft;
//top的值=瀏覽器可視區(qū)域的高度/2-彈出窗口的高度/2+瀏覽器縱向滾動條距離上邊界的值
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>
運行效果圖如下:

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

