У меня многопользовательская игра с 30-секундным таймером в нижней части экрана. Если ни один из игроков не делает ход в течение 30 секунд, форма отправляется.
var ProgressValue = 0;
function showProgress() {
ProgressValue += 100/30;
if (ProgressValue > 100) {
$('form').submit();
}
// Ajax is done here to see if anyone has made a move.
$('.progress .bar').css('width',ProgressValue + '%');
setTimeout(showProgress, 1000);
}
setTimeout(showProgress, 1000);
Каждую секунду я проверяю область приложения, чтобы увидеть, изменилось ли значение
Application.LastMove
Я хочу, чтобы индикатор выполнения плавно анимировался, но я не хочу этого делать, уменьшая значение тайм-аута. Я думаю, что проверка того, что кто-то совершил переход каждую секунду, уже достаточно загрузки на сервере.
Я слышал о WebSockets, но мой текущий сервер находится на ColdFusion 8, поэтому (я думаю). Я удовлетворен тем, что каждый раз, когда вы чувствуете, что ajax не так элегантен и менее цивилизован, возраст.
В: Каким образом вы легко оживляете индикатор прогресса в twitter-bootstrap с 3,3% до 6,6%?