На высоком уровне я бы, вероятно, сделал бы это, поместив пустой элемент display: block
с цветным фоном (или, возможно, изображение) на страницу с шириной нуля, а затем периодически запускал обратные вызовы AJAX на сервер, чтобы получить прогрессировать обновления и соответственно увеличивать ширину элемента. (Я подозреваю, что COMET был бы более эффективным способом справиться с подобными вещами, поскольку прочитанные мной описания предполагают, что это версия AJAX для серверной рассылки, так что это устранит накладные расходы при опросе, но я не очень заглянул в COMET, так что я могу неправильно это понять.)
На низком уровне фактический код для реализации этого в значительной степени зависит от того, как вы делаете свой AJAX. Используете ли вы JQuery , CGI :: Ajax , другой модуль (CPAN или другой) или свой собственный код обработки AJAX, созданный вручную?