jQuery實現的彈出垂直水平居中視窗效果程式碼例項
彈出垂直居中視窗效果,在很多網站都有使用,下面就通過程式碼例項介紹一下如何利用jQuery實現此功能。
程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{text-align:center} .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 src="http://libs.baidu.com/jquery/1.9.0/jquery.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(); var screenHeight=$(window).height();//當前瀏覽器視窗的 寬高 var scrolltop=$(document).scrollTop();//獲取當前視窗距離頁面頂部高度 var objLeft=(screenWidth-obj.width())/2 ; var objTop=(screenHeight-obj.height())/2+scrolltop; obj.css({left:objLeft+'px',top:objTop+'px','display':'block'}); //瀏覽器視窗大小改變時 $(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'}); }); //瀏覽器有滾動條時的操作、 $(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 class="mask"></div> <div class="mess"> <p>確定要刪除嗎?</p> <p> <input type="button" value="確定" class="btn1"/> <input type="button" value="取消"class="btn2"/> </p> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
1.$(document).ready(function(){}),文件結構完全載入完畢再去執行函式中的程式碼。
2.$('.btn').click(function(){}),為按鈕註冊click事件處理函式。
3.$('.mask').css({'display':'block'}),顯示半透明遮罩層。
4.center($('.mess')),顯示彈出視窗,並使其居中顯示。
5.check($(this).parent(),$('.btn1'),$('.btn2')),為相應的元素註冊事件處理函式。
6.function center(obj),實現了彈出視窗的居中效果,引數是要居中的元素。
7.var screenWidth=$(window).width(),獲取瀏覽器客戶區的寬度。
8.var screenHeight=$(window).height(),獲取瀏覽器客戶區的高度。
9.var scrolltop=$(document).scrollTop(),獲取當前客戶區視窗頂端距離頁面頂端的距離。
10.var objLeft=(screenWidth-obj.width())/2,獲取彈出視窗的left屬性值。
11.var objTop=(screenHeight-obj.height())/2+scrolltop,獲取彈出視窗的top屬性值。
12.obj.css({left: objLeft+'px',top: objTop+'px','display':'block'}),設定元素的left和top屬性值。
13.$(window).resize(function(){}),為視窗註冊resize事件處理函式,事件處理函式的原理和上面都是一樣的。
14.function check(obj,obj1,obj2){},此函式可以實現相應元素事件處理函式的註冊。
二.相關閱讀:
1.scrollTop()函式可以參閱jQuery scrollTop()一章節。
2.resize事件可以參閱jQuery resize 事件一章節。
3.remove()函式可以參閱jQuery remove()一章節。
相關文章
- 點選彈出水平垂直居中視窗程式碼例項
- jquery實現的彈出居中視窗效果jQuery
- jQuery實現的div垂直水平居中例項程式碼jQuery
- css實現的彈出視窗始終垂直水平居中效果CSS
- css實現div全屏水平垂直居中效果程式碼例項CSS
- jQuery實現的div在視窗中垂直水平居中效果jQuery
- flex彈性佈局實現元素垂直居中效果程式碼例項Flex
- js實現的垂直選項卡效果程式碼例項JS
- css實現的div垂直水平居中程式碼例項CSS
- css實現的div垂直居中效果程式碼例項CSS
- jquery實現的選項卡效果例項程式碼jQuery
- div垂直水平居中例項程式碼
- jquery實現的分頁效果例項程式碼jQuery
- 調整視窗大小也能夠實現div水平垂直居中程式碼例項
- canvas實現的彈力小球效果程式碼例項Canvas
- jQuery列表上下垂直滾動效果程式碼例項jQuery
- css3實現元素垂直水平居中程式碼例項CSSS3
- 可以限定拖動範圍的彈出視窗效果程式碼例項
- jQuery將div在視窗中垂直居中例項程式碼jQuery
- jquery實現的滑動軸效果程式碼例項jQuery
- css實現的多行文字垂直居中效果程式碼例項CSS
- css水平垂直居中程式碼例項CSS
- jQuery實現的點選彈出登陸視窗效果jQuery
- div始終在視窗中垂直水平居中程式碼例項
- css3實現div元素垂直水平居中程式碼例項CSSS3
- window.open()實現彈出視窗居中顯示程式碼例項
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- css實現瀏覽器垂直水平居中效果程式碼CSS瀏覽器
- js實現彈出灰色背景能夠拖動的視窗例項程式碼JS
- javascript自帶的彈出輸出視窗程式碼例項JavaScript
- jQuery 動畫效果程式碼例項jQuery動畫
- jquery實現的人物關係圖效果程式碼例項jQuery
- css3實現的皮球上下彈動效果程式碼例項CSSS3
- jQuery點選顯示彈出層例項程式碼jQuery
- jQuery和css3實現的開關效果程式碼例項jQueryCSSS3
- jquery小球碰撞效果程式碼例項jQuery
- jquery 驗證碼效果程式碼例項jQuery
- js實現的div元素尺寸彈性縮放效果程式碼例項JS