jQuery點(diǎn)擊按鈕彈出遮罩層且內(nèi)容居中特效
本文為大家分享了jQuery點(diǎn)擊按鈕彈出遮罩層且內(nèi)容居中的特效,下面來(lái)看最終實(shí)現(xiàn)的效果:

由于是測(cè)試的程序,所以我未加關(guān)閉的按鈕。
一、主體程序
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>彈出居中遮罩</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" type="text/css" href="css/layout.css"/>
</head>
<body>
<section class="test">
這里是主體內(nèi)容<br />
<input type="button" class="testButton" value="彈出遮罩" />
</section>
<section class="testBg">
<section class="testCont">
這里是彈出的內(nèi)容測(cè)試
</section>
</section>
<script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
<script src="js/layout.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>
二、CSS樣式
*{
margin: 0;
padding: 0;
}
.testBg{
position: absolute;
top: 0;
background-color: #000;
filter:alpha(opacity=80); /* IE */
-moz-opacity:0.8; /* Moz + FF */
opacity: 0.8; /* 支持CSS3的瀏覽器(FF 1.5也支持)*/
display:none ;
}
.testBg .testCont{
position: absolute;
top: 0;
left: 0;
width:200px;
border: 1px #ffc700 solid;
color: #ffc700;
}
三、JS程序
這個(gè)才是本次隨筆所說(shuō)的重點(diǎn),下面來(lái)看一段錯(cuò)誤的JS程序:
$(function(){
$(".testBg").height($(window).height()).width($(window).width()); //使遮罩的背景覆蓋整個(gè)頁(yè)面
var testContTop=($(window).height()-$(".testCont").height())/2; //計(jì)算彈出的框距離頁(yè)面頂部的距離
var testContWidth=($(window).width()-$(".testCont").width())/2; //計(jì)算彈出的框距離頁(yè)面左邊的距離
$(".testCont").css({
"top":testContTop,
"left":testContWidth
});
$(".testButton").click(function(){
$(".testBg").show();
})
})
上面這段程序看起來(lái)沒(méi)有問(wèn)題,那么來(lái)看一下輸出的結(jié)果:

實(shí)際測(cè)量的時(shí)候上下的間距是不一致的。
那么正確的JS程序是:
$(function(){
$(".testBg").height($(window).height()).width($(window).width());//使遮罩的背景覆蓋整個(gè)頁(yè)面
$(".testButton").click(function(){
$(".testBg").show();
showDiv();
})
})
function showDiv(){
var testContTop=($(window).height()-$(".testCont").height())/2; //計(jì)算彈出的框距離頁(yè)面頂部的距離
var testContWidth=($(window).width()-$(".testCont").width())/2; //計(jì)算彈出的框距離頁(yè)面左邊的距離
$(".testCont").css({
"top":testContTop,
"left":testContWidth
});
}
從上面程序可以看出在遮罩層彈出顯示以后再執(zhí)行一個(gè)函數(shù)動(dòng)態(tài)的設(shè)置彈出層的背景大小和距離頁(yè)面的上間距和左間距,而不是一開(kāi)始加載JS時(shí)就已經(jīng)設(shè)置好彈出層各項(xiàng)參數(shù)。
以上就是本文的全部?jī)?nèi)容,教大家如何實(shí)現(xiàn)點(diǎn)擊按鈕彈出遮罩層且內(nèi)容居中的效果,
- jQuery實(shí)現(xiàn)首頁(yè)懸浮框
- 使用jQuery UI的tooltip函數(shù)修飾title屬性的氣泡懸浮框
- jQuery實(shí)現(xiàn)單擊按鈕遮罩彈出對(duì)話(huà)框效果(2)
- jQuery實(shí)現(xiàn)單擊按鈕遮罩彈出對(duì)話(huà)框效果(1)
- jQuery實(shí)現(xiàn)點(diǎn)擊按鈕彈出可關(guān)閉層的浮動(dòng)層插件
- jQuery實(shí)現(xiàn)單擊按鈕遮罩彈出對(duì)話(huà)框(仿天貓的刪除對(duì)話(huà)框)
- 基于Jquery的仿Windows Aero彈出窗(漂亮的關(guān)閉按鈕)
- jquery實(shí)現(xiàn)界面點(diǎn)擊按鈕彈出懸浮框
相關(guān)文章
jquery實(shí)現(xiàn)相冊(cè)一下滑動(dòng)兩次的方法
這篇文章主要介紹了jquery實(shí)現(xiàn)相冊(cè)一下滑動(dòng)兩次的方法,是非常實(shí)用的圖片特效技巧,需要的朋友可以參考下2015-02-02
jQuery中animate動(dòng)畫(huà)第二次點(diǎn)擊事件沒(méi)反應(yīng)
這篇文章主要介紹了jQuery中animate動(dòng)畫(huà)第二次點(diǎn)擊事件沒(méi)反應(yīng)的解決方法,非常的實(shí)用,有需要的小伙伴可以參考下2015-05-05
基于jQuery全屏焦點(diǎn)圖左右切換插件responsiveslides
這篇文章主要介紹了基于jQuery全屏焦點(diǎn)圖左右切換插件responsiveslides的相關(guān)資料,需要的朋友可以參考下2015-09-09
jQuery中RadioButtonList的功能及用法實(shí)例介紹
RadioButtonList的使用想必大家都有所解除,本文為以示例的方式為大家詳細(xì)介紹下其功能及用法,感興趣的朋友可以參考下2013-08-08
分享33個(gè)jQuery與CSS3實(shí)現(xiàn)的絢麗鼠標(biāo)懸停效果
今天整理了33個(gè)使用jQuery與CSS3實(shí)現(xiàn)絢麗的鼠標(biāo)懸停效果,有些是純CSS3的,這些效果你完全可以用在你的網(wǎng)頁(yè)上,讓網(wǎng)站獲得更好的體驗(yàn)2014-12-12
解決easyui日期時(shí)間框ie的兼容的問(wèn)題
下面小編就為大家分享一篇解決easyui日期時(shí)間框ie的兼容的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03

