Небольшая собственная анимация
Хочу организовать следующую анимацию: блок span должен медленно стать прозрачным, но не убратся со страницы, чтобы не нарушилась разметка, затем в нём должен поменятся текст, и затем блок опять должен медленно появится.
Пишу такой код: $("#my_client_text").animate({opacity:'0.0'}, 500); $("#my_client_text").html('Закрепить'); $("#my_client_image").attr('src', 'images/lock.png'); $("#my_client_text").animate({opacity:'1.0'}, 500); либо такой: $("#my_client_text").fadeOut('fast'); $("#my_client_text").html('Закрепить'); $("#my_client_image").attr('src', 'images/lock.png'); $("#my_client_text").fadeIn('fast'); my_client_text - сам span-блок my_client_image - img-тег рядом с my_client_text В обоих случаях фактически получается, что текст меняется сразу, только потом начинается затухание и появление. Будто .animate(), .html() и .attr() начинают выполнятся одновременно. Что я не так делаю? |
попробуйте так
$("#my_client_text").animate({opacity:'0.0'}, 500); $("#my_client_text").delay(500).html('Закрепить'); $("#my_client_image").delay(500).attr('src', 'images/lock.png'); $("#my_client_text").animate({opacity:'1.0'}, 500); |
а еще можно назначить запуск функции по завершению анимации, например:
$('#my_client_text').animate({ opacity: 0.0 }, 500, function() { $("#my_client_text").html('Закрепить'); $("#my_client_image").attr('src', 'images/lock.png'); }); |
Во! Второй вариант подошёл, спасибо!
А первый тоже не работает.. Получается, что jQuery как-то по потокам выполнение разбивает? |
все выполняется по порядку и практически моментально, для нас, вобщем, одновременно)) ну а анимации и все такое, если относятся к одному и тому же элементу, выстраиваются в очередь, хотя и их если что останавливают с помошью .stop()
както так, сам тут новенький |
Часовой пояс GMT +3, время: 22:31. |