Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Два вопроса по animate() jQuery (https://javascript.ru/forum/misc/37912-dva-voprosa-po-animate-jquery.html)

Neznayka 15.05.2013 00:28

Цитата:

Сообщение от danik.js (Сообщение 250501)
Поставь background: red , для наглядности.

Поставил, получается так, что в стеке :
$("div").css({display:'block', opacity:'0'}).animate({opacity:'1'}, 500).delay(2000).animate({opacity:'0'}, 500).css({background:'red'});

фунции animate отрабатывают по-очереди, функции css вырываются из этой очередности - исполняются сразу. Т.е. css({background:'red'}), находящийся в самом конце, исполняется сразу после css({display:'block', opacity:'0'}). Вроде читал, что не должно быть так :( .. Проясните ситуацию ?..

melky 15.05.2013 01:59

Цитата:

Сообщение от Neznayka
Вроде читал, что не должно быть так

это где такая ересь описана?

чтобы добавить функцию в очередь, нужно (очевидно) её добавить в очередь.

$(this).
    css({display:'block'}).
        animate({opacity:'1'}, 1000).
            delay(2000).
                animate({opacity:'0'}, 1000).
                    queue(function () {
                        $(this).css({display:'none'});
                    });


(код не тестил, есть сомнения по поводу this в callback'е)


Часовой пояс GMT +3, время: 19:18.