0

我试图创建一个可以制作盒子的函数,与以下选项对齐

  1. $("#roundbox").divAlign({vertical:"top",horizontal:"left"});- 应该在它的父母左上角制作盒子,

  2. $("#roundbox").divAlign({vertical:"top",horizontal:"center"});- 应该在它的父母的顶部中心制作盒子,

  3. $("#roundbox").divAlign({vertical:"top",horizontal:"right"});- 应该在它的父母的右上角制作盒子,

  4. $("#roundbox").divAlign({vertical:"center",horizontal:"left"});

  5. $("#roundbox").divAlign({vertical:"center",horizontal:"center"});- 屏幕中心

  6. $("#roundbox").divAlign({vertical:"center",horizontal:"right"});- 居中但在右侧

你能指导我如何用更少的代码来实现,不像我在下面所做的那样。

(function($){
     $.fn.extend({
          divalign: function (options) {
               var options =  $.extend({ // Default values
                    inside:window, // element, center into window
                    vertical:'center',
                    horizontal:'center'
               }, options);
               return this.each(function() {
                        var props = {position:'absolute'};
                        if (options.vertical=="center" && options.horizontal=="center"){
                            var div_height = $(options.inside).height() / 2;
                            var div_width = $(options.inside).width() / 2;
                            $.extend(props, {top:'50%'},{left: '50%'},{'margin-top': div_height + 'px'},{'margin-left': div_width+'px'});
                        }else if(options.vertical=="top" && options.horizontal=="left"){
                            $.extend(props, {'margin-top':'5%'},{left: '2%'});
                        }
                    $(this).css(props);
                    return $(this);
               });
          }
     }); })(jQuery);

视觉表现: 在此处输入图像描述

谢谢。

4

0 回答 0