0

我使用 jQuery 每 5 秒左右刷新一次 DIV 内容框,时间实际上是由最终用户控制的。我想在页面上有一个倒计时计时器,它将根据设置的值倒计时直到下一页刷新(或查询)。

目前,它可以是 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

也许倒计时插件会有所帮助......
有一个onExpiry-event 并且until-property 非常有帮助。

你可能会遇到的另一个问题是: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 回答