jQuery將div在視窗中垂直居中例項程式碼
將一個元素在視窗中垂直居中是常有的操作,下面就以div為例介紹一下如何實現此操作。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> #thediv { width:100px; height:100px; background:red; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> (function($){ $.fn.extend({ center:function(){ this.each(function(){ var top=($(window).height()-$(this).outerHeight())/2; var left=($(window).width()-$(this).outerWidth())/2; $(this).css({position:'absolute',margin:0,top:(top >0?top:0)+'px',left:(left>0?left:0)+'px'}); }); } }); })(jQuery); $(document).ready(function(){ $("#thediv").center() }) </script> </head> <body> <div id="thediv"></div> </body> </html>
以上程式碼實現了我們的要求,可以將div在視窗中是實現水平垂直居中效果,下面介紹一下實現過程。
一.實現原理:
原理特別的簡單,就是獲取視窗的尺寸和要居中元素的尺寸,然後將要居中的元素設定為絕對定位,然後將要居中元素的top和left屬性值分別設定為($(window).height()-$(this).outerHeight())/2和($(window).width()-$(this).outerWidth())/2,這樣就垂直居中了,可以參閱css實現div水平垂直居中程式碼一章節。具體可以參閱程式碼註釋。
二.程式碼註釋:
1.(function($){}(jQuery),建立並執行一個匿名函式,引數jQuery物件。
2.$.fn.extend(),為jQuery新增一個例項物件。
3.center:function(){},函式的名稱是center。
4.this.each(function(){}),以匹配元素集合的每一個元素作為上下文去執行函式,這裡的this是指向一個jquery物件。
5.var top=($(window).height()-$(this).outerHeight())/2,設定div的top屬性值,這裡的this指向dom元素div。
6.var left=($(window).width()-$(this).outerWidth())/2,設定div的left屬性值,這裡的this指向dom元素div。
7.$(this).css({position:'absolute',margin:0,top: (top >0?top:0)+'px',left: (left>0?left:0)+'px'}),通過css()函式將div設定為絕對定位,外邊距設定為0,然後再設定它的left和top屬性值。
相關文章
- div始終在視窗中垂直水平居中程式碼例項
- jQuery實現的div在視窗中垂直水平居中效果jQuery
- jQuery實現的div垂直水平居中例項程式碼jQuery
- div垂直水平居中例項程式碼
- 調整視窗大小也能夠實現div水平垂直居中程式碼例項
- jQuery實現的彈出垂直水平居中視窗效果程式碼例項jQuery
- css實現的div垂直居中效果程式碼例項CSS
- css文字在元素中垂直居中程式碼例項CSS
- css實現div全屏水平垂直居中效果程式碼例項CSS
- css實現的div垂直水平居中程式碼例項CSS
- 點選彈出水平垂直居中視窗程式碼例項
- css3實現div元素垂直水平居中程式碼例項CSSS3
- css水平垂直居中程式碼例項CSS
- javascript設定層在視窗中垂直水平居中JavaScript
- div在網頁中垂直居中效果網頁
- CSS如何將div垂直居中CSS
- CSS讓div水平居中例項程式碼CSS
- CSS多行文字垂直居中例項程式碼CSS
- css設定元素在瀏覽器中垂直水平居中程式碼例項CSS瀏覽器
- jQuery獲取視窗尺寸的例項程式碼jQuery
- CSS視窗垂直水平居中CSS
- css多行文字垂直居中程式碼例項CSS
- div中巢狀div水平垂直居中巢狀
- css設定div水平居中程式碼例項CSS
- 未知寬高圖片在元素中垂直水平居中程式碼例項
- 讓input文字框文字垂直居中程式碼例項
- css實現div水平垂直居中程式碼CSS
- div垂直居中-CSS元素垂直居中方法CSS
- 設定<img>圖片垂直水平居中程式碼例項
- window.open()實現彈出視窗居中顯示程式碼例項
- CSS 實現元素在當前視窗水平垂直居中CSS
- css 圖片在div中垂直水平居中CSS
- css實現的多行文字垂直居中效果程式碼例項CSS
- css實現的多行文字垂直居中程式碼例項CSS
- css3實現元素垂直水平居中程式碼例項CSSS3
- jQuery列表上下垂直滾動效果程式碼例項jQuery
- CSS垂直居中完美實用例項CSS
- css如何實現多行文字在div中垂直居中效果CSS