利用jq让你的div居中的好方法分享

2020-05-24 21:30:15易采站长站整理

very short version:

$(‘#myDiv’).css({top:’50%’,left:’50%’,margin:’-‘+($(‘#myDiv’).height() / 2)+’px 0 0 -‘+($(‘#myDiv’).width() / 2)+’px’});


short version:



(function($){
    $.fn.extend({
        center: function () {
            return 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);


Activated by this code :
$(‘#mainDiv’).center();
 


PLUGIN VERSION



(function($){
     $.fn.extend({
          center: function (options) {
               var options =  $.extend({ // Default values
                    inside:window, // element, center into window
                    transition: 0, // millisecond, transition time
                    minX:0, // pixel, minimum left element value
                    minY:0, // pixel, minimum top element value
                    withScrolling:true, // booleen, take care of the scrollbar (scrollTop)
                    vertical:true, // booleen, center vertical
                    horizontal:true // booleen, center horizontal
               }, options);
               return this.each(function() {