基于jquery的彈出提示框始終處于窗口的居中位置(類似于alert彈出框的效果)
獲取當(dāng)前屏幕(窗體)的寬度和高度,因?yàn)椴煌瑸g覽器的窗體大小是不一樣的。有了這個(gè),可以計(jì)算出來垂直居中的坐標(biāo)。但是滑動(dòng)了滾動(dòng)條怎么依然垂直居中呢?這個(gè)時(shí)候就要獲取當(dāng)前窗體距離頁(yè)面頂部的高度,加到剛剛的y軸坐標(biāo)即可。
$(document)是獲取整個(gè)網(wǎng)頁(yè)的,$(window)是獲取當(dāng)前窗體的,這個(gè)要搞清楚。
最后把獲取的坐標(biāo)賦給窗體即可,窗體本身是絕對(duì)定位的,所以自然可以到窗體中間。
具體代碼:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>彈出確認(rèn)框始終位于窗口的中間位置的測(cè)試</title>
<style type="text/css">
.mask { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; filter: alpha(opacity=50); display: none; z-index: 99; }
.mess { position: absolute; display: none; width: 250px; height: 100px; border: 1px solid #ccc; background: #ececec; text-align: center; z-index: 101; }
</style>
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.btn').click(function() {
$('.mask').css({'display': 'block'});
center($('.mess'));
check($(this).parent(), $('.btn1'), $('.btn2'));
});
// 居中
function center(obj) {
var screenWidth = $(window).width(), screenHeight = $(window).height(); //當(dāng)前瀏覽器窗口的 寬高
var scrolltop = $(document).scrollTop();(),//獲取當(dāng)前窗口距離頁(yè)面頂部高度
var objLeft = (screenWidth - obj.width())/2 ;
var objTop = (screenHeight - obj.height())/2 + scrolltop;
obj.css({left: objLeft + 'px', top: objTop + 'px','display': 'block'});
//瀏覽器窗口大小改變時(shí)
$(window).resize(function() {
screenWidth = $(window).width();
screenHeight = $(window).height();
scrolltop = $(document).scrollTop();
objLeft = (screenWidth - obj.width())/2 ;
objTop = (screenHeight - obj.height())/2 + scrolltop;
obj.css({left: objLeft + 'px', top: objTop + 'px','display': 'block'});
});
//瀏覽器有滾動(dòng)條時(shí)的操作、
$(window).scroll(function() {
screenWidth = $(window).width();
screenHeight = $(widow).height();
scrolltop = $(document).scrollTop();
objLeft = (screenWidth - obj.width())/2 ;
objTop = (screenHeight - obj.height())/2 + scrolltop;
obj.css({left: objLeft + 'px', top: objTop + 'px','display': 'block'});
});
}
//確定取消的操作
function check(obj, obj1, obj2) {
obj1.click(function() {
obj.remove();
closed($('.mask'), $('.mess'));
});
obj2.click(function() {
closed($('.mask'), $('.mess'));
}) ;
}
// 隱藏 的操作
function closed(obj1, obj2) {
obj1.hide();
obj2.hide();
}
});
</script>
</head>
<body>
<input type="button" class="btn" value="btn"/>
<div>彈出確認(rèn)框始終位于窗口的中間位置的測(cè)試</div>
<div class="mask"></div>
<div class="mess">
<p>確定要?jiǎng)h除嗎?</p>
<p><input type="button" value="確定" class="btn1"/>
<input type="button" value="取消"class="btn2"/></p>
</div>
</body>
</html>
相關(guān)文章
jQuery+css實(shí)現(xiàn)的tab切換標(biāo)簽(兼容各瀏覽器)
這篇文章主要介紹了jQuery+css實(shí)現(xiàn)的tab切換標(biāo)簽,可兼容各瀏覽器,涉及jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素的相關(guān)技巧,需要的朋友可以參考下2016-01-01boxy基于jquery的彈出層對(duì)話框插件擴(kuò)展應(yīng)用 彈出層選擇器
當(dāng)大家進(jìn)行復(fù)雜功能設(shè)計(jì)的時(shí)候,在對(duì)多級(jí)聯(lián)選擇進(jìn)行設(shè)計(jì),為了獲得更好的用戶體驗(yàn)和節(jié)省頁(yè)面空間,往往會(huì)使用彈出層的方法。2010-11-11jquery實(shí)現(xiàn)checkbox 全選/全不選的通用寫法
本篇文章主要是對(duì)jquery實(shí)現(xiàn)checkbox 全選/全不選的通用寫法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-02-02JQuery上傳插件Uploadify使用詳解及錯(cuò)誤處理
關(guān)于JQuery上傳插件Uploadify使用詳解網(wǎng)上一大把,基本上內(nèi)容都一樣。我根據(jù)網(wǎng)上的步驟配置完成后,會(huì)報(bào)一些錯(cuò)誤,而我根據(jù)這些錯(cuò)誤去網(wǎng)上找解決方案,卻沒有相關(guān)資料,所以為了不讓更多的朋友走彎路,我把我遇到的一些問題進(jìn)行匯總,也方便我自己以后查閱。2010-04-04jquery mobile的觸控點(diǎn)擊事件會(huì)多次觸發(fā)問題的解決方法
這篇文章主要介紹了jquery mobile的觸控點(diǎn)擊事件會(huì)多次觸發(fā)問題的解決方法以及替代方法,需要的朋友可以參考下2014-05-05jquery得到font-size屬性值實(shí)現(xiàn)代碼
font-size屬性想必大家并不陌生吧,此屬性控制字體的大小,在本文將為大家介紹下如何使用jquery獲取font-size屬性值,感興趣的朋友可以參考下2013-09-09jQuery插件FusionCharts繪制2D柱狀圖和折線圖的組合圖效果示例【附demo源碼】
這篇文章主要介紹了jQuery插件FusionCharts繪制2D柱狀圖和折線圖的組合圖效果,結(jié)合完整實(shí)例形式分析了jQuery使用插件FusionCharts載入xml格式數(shù)據(jù)繪制柱狀圖與折線圖組合圖效果的操作步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-04-04jQuery 處理網(wǎng)頁(yè)內(nèi)容的實(shí)現(xiàn)代碼
改變頁(yè)面內(nèi)容應(yīng)該算是Javascript最常用的功能,這包括更改已經(jīng)存在的頁(yè)面元素或者添加新的HTML元素。2010-02-02超棒的響應(yīng)式布局jQuery插件Freetile.js
隨著頁(yè)面扁平化的普及,越來越多的網(wǎng)站都開始使用響應(yīng)式布局,作為一個(gè)優(yōu)秀的前端工作者,必須要精通的,這里給大家推薦一款響應(yīng)式布局的jQuery插件。2014-11-11