jQuery .animate()控件问题

时间:2014-02-15 16:39:32

标签: jquery jquery-animate

我正在使用下面的公式为div设置动画,并将“box”类放到我页面的中心(这样可行)。

    var $box = $('div.box'), 
    $W = $(window).width() / 2 - $box.outerWidth() / 2,
    $H = $(window).height() / 2 - $box.outerHeight() / 2;

$('button.increase').on('click', function(){
    $box
    .css({
        'left': $W,
        'position':'absolute'
    })

    .animate({
    'top': $H,
    }, { duration: 2000, queue: false}); 


    });

我现在想要将类'box'的div设置为默认位置。我想通过扭转数学运算符,我可以像这样完成这个

$DW = $(window).width() * 2 + $box.outerWidth() * 2,
$DH = $(window).height() * 2 + $box.outerHeight() * 2;

但它不起作用。

1 个答案:

答案 0 :(得分:0)

你的数学错了,试试

$DW = $(window).width() / 2 - $box.outerWidth() / 2,
$DH = $(window).height() / 2 - $box.outerHeight() * 2;

Demo

这样可以保持框的x位置,只需将y更改为开始时的位置(* 2)。