jQuery animate: разделить одну анимацию на две части - PullRequest
1 голос
/ 23 декабря 2011

Следующий фрагмент кода выполняется для плавной анимации:

    $('button').animate({
        'margin-top': 123,
        'opacity': 1
    }, 500);

Возможно ли как-то разделить его на две команды, не создавая эффект очереди двух анимаций?

    jQelems.$divSlideButtonLeft.animate({
        'margin-top': 123,
    }, 500);

    jQelems.$divSlideButtonLeft.animate({
        'opacity': 1
    }, 500);

Цель состоит в том, чтобы разделить анимацию для одного объекта в разных функциях.

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Если я правильно понимаю ваш вопрос, вы можете использовать вторую форму из animate() и передать false в опции queue:

jQelems.$divSlideButtonLeft.animate({
    "margin-top": 123
}, {
    duration: 500,
    queue: false
});

jQelems.$divSlideButtonLeft.animate({
    opacity: 1
}, {
    duration: 500,
    queue: false
});

В документации сказано:

queue: логическое значение, указывающее, помещать ли анимацию в очередь эффектов. Если false, анимация начнется немедленно.

0 голосов
/ 23 декабря 2011

вы можете попробовать вызовите функцию непрозрачности в функции обратного вызова анимации первой части.

$('button').animate({'margin-top': 123,}, 500, function (){
$('button').animate({  'opacity': 1}, 500)
});

обе анимации будут происходить одна за другой.

...