0

jQuery を使用して DIV コンテンツ ボックスを 5 秒ごとに更新していますが、この時間は実際にはエンド ユーザーが制御できます。設定された値に基づいて、次のページの更新 (またはクエリ) までカウントダウンするカウントダウン タイマーをページに設定したいと考えています。

今のところ、5 秒の静的な値にすることができますが、クエリと一緒にカウントダウンを実行する方法が本当にわかりません。

どんな助けでも大歓迎です。

4

4 に答える 4

1

setIntervalを使用できます。

var remaining = 5;

var myInterval = setInterval ( updateCountDown, 1000 );

function updateCountDown( )
{
  $("mydiv").text(remaining );
  remaining --;
  if (remaining == 0) {
    clearInterval(myInterval );
  }
}
于 2010-11-05T09:26:59.383 に答える
0

ええと...私は少し前に似たようなことをしました。jquery.timersという jQuery のプラグインを使用しました。

これは私のコードです:

    function timerTick() {
        counter--;
        $("#lblRepeat").html('searching again in ' + counter + ':');
        if (counter <= 0) {
            counter = 60;
            search();
        }
    }
    function chkActivate_click(ev) {
        var vr, t;
        t = $(this); 
        vr = t.is(':checked');
        if (vr) {
            t.everyTime(1000, 'busqueda', timerTick);
        } else {
            t.stopTime('busqueda');
        }
    }
于 2010-11-05T12:24:08.007 に答える
0

おそらくカウントダウンプラグインが役立つでしょう... -event
があり、 -property は非常に役立ちます。onExpiryuntil

つまずくかもしれない別の問題は、js が実際のマルチスレッドをサポートしていないことです...

于 2010-11-05T09:31:18.010 に答える
0

編集: 理解できたかどうかわかりません: ページにカウンターを表示しますか?

そうでない場合:

JavaScript で変数を設定できます。

var TimeOutValue = 5000;

function OnTimeOut()
{
    // Add here your code for refreshing the DIV content
   window.setTimeout(OnTimeOut, TimeOutValue);
}

入力フィールドの textchanged イベントのハンドラー: 例

function InputTextChanged()
{
   TimeOutValue = document.getElementById("Id_of_Input_field").value;
}
于 2010-11-05T09:37:51.907 に答える