JQuery使用单个函数而不是多个

时间:2016-04-26 14:05:03

标签: jquery centering simplify

您好我想简化这4个类似的功能。只有选择者才会最终改变。我该怎么办?很多人!

$('.box.standard .title').css({
                'position' : 'absolute',
                'left' : '50%',
                'top' : '50%',
                'margin-left' : -$('.box.standard .title').outerWidth()/2,
                'margin-top' : -$('.box.standard .title').outerHeight()/2
            });

            $('.box.large .title').css({
                'position' : 'absolute',
                'left' : '50%',
                'top' : '50%',
                'margin-left' : -$('.box.large .title').outerWidth()/2,
                'margin-top' : -$('.box.large .title').outerHeight()/2
            });

            $('.box.wide .title').css({
                'position' : 'absolute',
                'left' : '50%',
                'top' : '50%',
                'margin-left' : -$('.box.wide .title').outerWidth()/2,
                'margin-top' : -$('.box.wide .title').outerHeight()/2
            });

3 个答案:

答案 0 :(得分:1)

使它成为一个功能并随时使用它:

/* Target your subscribe button */
#mc-embedded-subscribe { 
      /* Ensure that the background is black (#000) */
      background-color: #000!important; 
      /* Ignore any rounded corners */
      border-radius: 0!important;
}

答案 1 :(得分:0)

尝试:

var myArray = ['.box.standard', '.box.large', '.box.wide'];

for (var i of myArray) {

  $(i+' .title').css({
                'position' : 'absolute',
                'left' : '50%',
                'top' : '50%',
                'margin-left' : -$(i+' .title').outerWidth()/2,
                'margin-top' : -$(i+' .title').outerHeight()/2
            });

}

答案 2 :(得分:0)

您可以使用一个功能来帮助您访问引用所选元素的this。这应该这样做:

       $('.box.standard .title, .box.large .title, .box.wide .title').css({
            'position' : 'absolute',
            'left' : '50%',
            'top' : '50%',
            'margin-left' : function() {
                return -$(this).outerWidth()/2;
            },
            'margin-top' : function() {
                return -$(this).outerHeight()/2;
            }
        });