我使用 jQuery 每 5 秒左右刷新一次 DIV 内容框,时间实际上是由最终用户控制的。我想在页面上有一个倒计时计时器,它将根据设置的值倒计时直到下一页刷新(或查询)。
目前,它可以是 5 秒的静态值,但我真的不知道如何让倒计时与我的查询一起运行。
任何帮助是极大的赞赏。
您可以使用setInterval。
var remaining = 5;
var myInterval = setInterval ( updateCountDown, 1000 );
function updateCountDown( )
{
$("mydiv").text(remaining );
remaining --;
if (remaining == 0) {
clearInterval(myInterval );
}
}
嗯...我不久前做了类似的事情。我使用了一个名为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');
}
}
也许倒计时插件会有所帮助......
有一个onExpiry
-event 并且until
-property 非常有帮助。
你可能会遇到的另一个问题是:js 不支持真正的多线程......
编辑:不确定我们是否理解你:你想在页面上显示一个计数器吗?
如果不:
您可以在 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;
}