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 Post處理后不進(jìn)入回調(diào)的原因及解決方法
通過(guò)Jquery的Post方法把Json數(shù)據(jù)傳到Jsp后臺(tái),處理后卻怎么都不進(jìn)入回調(diào)函數(shù),解決方法如下2014-07-07Jquery修改頁(yè)面標(biāo)題title其它JS失效的解決方法
這篇文章主要介紹了Jquery修改頁(yè)面標(biāo)題title其它JS失效的解決方法,很簡(jiǎn)單,很實(shí)用,需要的朋友可以參考下2014-10-10jQuery獲取父節(jié)點(diǎn)、子節(jié)點(diǎn)、兄弟節(jié)點(diǎn)的代碼
這篇文章主要介紹了jQuery獲取父節(jié)點(diǎn)、子節(jié)點(diǎn)、兄弟節(jié)點(diǎn)的代碼,需要的朋友可以參考下2023-06-06jquery上傳插件fineuploader上傳文件使用方法(jquery圖片上傳插件)
這篇文章主要介紹了jquery插件fineuploader上傳文件很用方法2013-12-12JQuery中的事件及動(dòng)畫(huà)用法實(shí)例
這篇文章主要介紹了JQuery中的事件及動(dòng)畫(huà)用法,實(shí)例分析了事件的綁定、移除、添加及動(dòng)畫(huà)方法操作表單的使用技巧,需要的朋友可以參考下2015-01-01快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突
這篇文章主要介紹了快速解決jquery.touchSwipe左右滑動(dòng)和垂直滾動(dòng)條沖突問(wèn)題,感興趣的小伙伴們可以參考一下2016-04-04解決Jquery鼠標(biāo)經(jīng)過(guò)不?;瑒?dòng)的問(wèn)題
在鼠標(biāo)經(jīng)過(guò)的時(shí)候不停的顯示隱藏html元素,正確的寫(xiě)法應(yīng)該是下面這樣的,需要的朋友可以參考下2014-03-03基于jquery和svg實(shí)現(xiàn)超炫酷的動(dòng)畫(huà)特效
這篇文章主要介紹了基于jquery和svg實(shí)現(xiàn)超炫酷的動(dòng)畫(huà)特效,想學(xué)習(xí)SVG的童鞋們可以來(lái)參考下。2014-12-12