Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как создать задержку перед .html() (https://javascript.ru/forum/jquery/18830-kak-sozdat-zaderzhku-pered-html.html)

Could 17.07.2011 13:39

Как создать задержку перед .html()
 
Я написал код для формы логина. Когда нажимаешь кнопку войти, вся форма сворачивается slideUp и jquery отправляет на сервер логин и пароль и если все верно то меняет методом html() код дива, где раньше была форма на присланный ей сервером html-контент и разворачивает обратно этот див slideDown.

Но блин на html() не действует задержка delay(), он срабатывает уже при сворачивании формы, а нужно чтобы форма свернулась, только потом изменился html и потом уже развернулась обратно.

Вот мой код:
$('#loginenter').click(function() {
    if(true) //Проверка введенности данных
      {
        $('#loginform').slideUp(500).delay(4000); //задержка действует уже на slideDown а не на html()
        $.post('api.php?login=1', {login: $('#login').val(), password: $('#passwrd').val()}, function(rdata) {
            if(rdata == 1)
            {
                $.post('api.php?logindetails=1', function(detailsdata) {
                    $('#loginform').html(detailsdata).slideDown(500);
                });
            }
        });
      }
   });


Помогите, как создать задержку, заранее спасибо!

Could 17.07.2011 13:42

Блин только написал и до самого дошло, что надо этот код поместить в параметр slideUp() в качестве анонимной функции, всем спасибо, вопрос решен :dance:


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