jQuery将div在窗口中垂直居中实例代码

jQuery将div在窗口中垂直居中实例代码:
将一个元素在窗口中垂直居中是常有的操作,下面就以div为例介绍一下如何实现此操作。
代码实例如下:

<!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属性值。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=10707

更多内容可以参阅;http://www.softwhy.com/jquery/

你可能感兴趣的:(jQuery将div在窗口中垂直居中实例代码)