我试图创建一个可以制作盒子的函数,与以下选项对齐
$("#roundbox").divAlign({vertical:"top",horizontal:"left"});
- 应该在它的父母左上角制作盒子,$("#roundbox").divAlign({vertical:"top",horizontal:"center"});
- 应该在它的父母的顶部中心制作盒子,$("#roundbox").divAlign({vertical:"top",horizontal:"right"});
- 应该在它的父母的右上角制作盒子,$("#roundbox").divAlign({vertical:"center",horizontal:"left"});
$("#roundbox").divAlign({vertical:"center",horizontal:"center"});
- 屏幕中心$("#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);
视觉表现:
谢谢。