0

こんにちは、ウェブサイトにボタンが必要です。60 秒から 0 秒までのカウントダウンを開始し、テキストを表示して (飲みましょう、乾杯しましょう)、開始ボタンに戻ります。

ユーザーがカウントダウンを開始すると、他のユーザーがこれを見ることができるように、すべてのユーザーがこのカウントダウンを見ることができる必要があります。

また、ボタンをクリックしたユーザーの数と「ボタン」に参加したカウンターも表示する必要があります。

私はこれを調べましたが、Ajax / javascript のプルを行う必要があります。

私のプログラミングスキルはまだコピー/貼り付け/編集レベルなので、開始方法はわかりません。タイマーを作成することはできますが、プルの方法はわかりません。

誰でも私が始めるのを手伝ってくれる?

よろしくルネ

4

1 に答える 1

1

まず第一に、ユーザー数を保存するためにステートフル バックエンドが必要です。つまり、php+任意のデータベースです。

nodejs上に構築されたsocket.ioについて言及しました。

nodejs を使用すると、シングル スレッドのランタイムであるため、これは難しくありません。そのため、変数値を異なるクライアントと共有できます。

nodejs は 3 つの URL をリッスンする必要があります。

  1. ベースページを渡すため(nodejsなしで実行でき、htmlへのURLのみ)
  2. ボタンのクリックをクライアントからバックエンドに渡すための ajax URL、現在のカウントを返す
  3. 現在の秒数を渡す ajax url は、現在のカウントと接続ユーザーを返します。

2. チャネルが呼び出されるたびに、カウントダウンがすでに実行されているかどうかを確認する必要があります。そうでない場合: 開始し、そうでない場合はクリックされたカウンターを増やします。

このような:

//nodejs code
var currendSeconds=60;
var connectedClients = 0;
var threadid;

function clientClickedButton(req, res){ // 2. url
     if(currendSeconds==60 || ) {
          threadid = setInterval(function(){
                currendSeconds--;
                if(currentSeconds == 0){
                    clearInterval(threadid);
                }
          }, 1000);  //your counter
     }
     connectedClients++;
     res.send(currendSeconds);
}

クライアント側はボタンのクリックイベントをリッスンし、ajax req を 2.url に送信し、返された秒数を表示する必要があります (今後は、秒数を要求する必要はありません。現在の秒数を要求せずに、クライアント側でカウントダウンを設定するだけです. )

于 2013-02-22T21:00:01.547 に答える