画面の下部に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
プログレスバーをスムーズにアニメーション化したいのですが、タイムアウト値を減らしてアニメーション化したくありません。誰かが毎秒動きをしているのかどうかをチェックすることは、すでにサーバーに十分な負荷をかけていると思います。
WebSocketについて聞いたことがありますが、現在のサーバーはColdFusion 8上にあるので、ajaxがそれほどエレガントではなく、文明化されていない時代からのものであると感じない限り、(私は)毎秒ajax呼び出しを行うことに満足しています。
Q:Twitterブートストラップのプログレスバーを3.3%から6.6%にスムーズにアニメーション化するにはどうすればよいですか?