2012-06-04 5 views
0

Я реализую индикатор выполнения (для определения фоновой задачи, я уже знаю точное время, которое потребуется), но у меня возникли проблемы с немедленным запуском события.Анимация OnComplete стрельба слишком рано

$("#go").on("click", function(event){ 

    event.preventDefault(); 

    $('#report-loader .bar').animate({ 
     width: 500 
    }, 
    { 
     easing: 'linear', 
     duration: 500, 
     complete: function() { 
      alert('complete');   
     }   
    }); 
}); 

Вот JSFiddle, который показывает пример того, что я имею в виду: http://jsfiddle.net/ezE8b/1/

ответ

1

Заменить:
$('#report-loader .bar').animate({ width: 500 },

по

$('#report-loader .bar').animate({ width: "100%" },

Прекрасно работает для меня.

+0

Фантастический, это работает - я не знаю, почему это не сработало бы с значением px? Благодаря! – Platinumpt

+1

Я тоже не знаю. (Пожалуйста, примите ответ, если он ответит на ваш вопрос) – jbrtrnd

+0

Может быть, 'width:" 500px "' также будет работать, есть шанс, что просто число без блоков вызывает некоторую путаницу за кулисами. –