@YourQuestion

Последовательно ли идет выполнение скрипта или параллельно?

$(".block").css('transition','all 59.0s ease 0s');
setTimeout(function() {
  alert('hello');
}, 59000);


В таком коде 59 секунд пройдут после 59 секунд, потраченных на вращение блока $(".block") или всего уйдет 59 секунд на две операции ?
  • Вопрос задан
  • 2196 просмотров
Пригласить эксперта
Ответы на вопрос 2
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
анимация стилей одно, таймер скрипта - другое.
Вы просто задаете стиль браузеру и все, дальше он с им работает. Пойдет параллельно у вас все.

Лучше так:
stackoverflow.com/questions/9255279/callback-when-...
Ответ написан
deleted-tnorman
@deleted-tnorman
function afterTransition(func, delay){
    $(".block").css('transition','all '+delay+'ms ease 0s');
    setTimeout(function() {
            func();
    }, delay);
}

afterTransition(function(){
    alert('hello');
}, 59000);


Но мне совершенно не нравится то, как вы пытаетесь воспользоваться cssТранзишном.

Обратите внимание на jQuery animate
У него гораздо удобнее работа с последовательностью
Фактически там можно использовать цепные вызовы

$('selector').animate({top: 0}, 1000)
.animate({top: 100}, 1000)
.animate({top: 0}, 1000)
.animate({top: 100}, 1000)
.animate({top: 0}, 1000)
.animate({top: 100}, 1000);


и так до бесконечности.

А так же колбек и все дела

$('selector').animate({
top: 0
}, 1000, function(){
// функция сработает по завершению анимации
// в вашем случае тут можно вывести алерт
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы