让我解释一下我想要做的事情。ajax/JS定时倒计时?
我想制作一个简单的盒子,以指定的间隔倒数。
例如,我想将它设置为从150开始,然后我想将它设置为每30秒下降15。
这可能与AJAX/Javascript?如果是这样,有人能指出我正确的方向吗?
真的很感谢这个脚本的任何帮助,谷歌已经几个小时了! :(
干杯
基兰
让我解释一下我想要做的事情。ajax/JS定时倒计时?
我想制作一个简单的盒子,以指定的间隔倒数。
例如,我想将它设置为从150开始,然后我想将它设置为每30秒下降15。
这可能与AJAX/Javascript?如果是这样,有人能指出我正确的方向吗?
真的很感谢这个脚本的任何帮助,谷歌已经几个小时了! :(
干杯
基兰
看一看在setTimeout
或setInterval
方法,它们允许你指定的毫秒数(1000毫秒=1秒)后执行的功能。请使用,调用是持续下降的数量,并将其写入到一个HTML元素给用户的功能可以看到它。
这不是测试,但我希望它表明你要走的路。
var start = 150;
var drop = 15;
var interval = 30;
function countdown(){
document.getElementById('mybox').innerHTML = start;
start-=drop;
window.setTimeout("countdown",interval*1000);
}
countdown();
您可以使用jQuery来做到这一点,看到http://keith-wood.name/countdown.html - >标签回调
如果在项目中尚未使用JQuery,那么简单的倒计时会带来很多开销。 – 2010-06-02 09:41:26
你是绝对正确的,这就是为什么我写“你可以使用”;-) 这个解决方案的优点和缺点是特殊的文章... – 2010-06-02 10:17:35
请记住,在我的浏览器30秒不一定等于在你的浏览器30秒。这取决于浏览器的工作量。 时间短暂较短,但可以长时间增加。时代将分开。如果两个访问者之间的时间不能相等(或几乎相等),那么这种简单的解决方案应该没问题。
我们曾经有一个问题在我们的一个项目中引入实时钟/倒计时。我们用javascript,ajax和PHP构建一个脚本用于时钟同步(服务器时间是timeserver)。
您应该使用的setInterval/clearInterval这是这类任务的提出:
function cooldown(element, start, stop, step, delay) {
var current = start;
element.innerHTML = current;
var timer = setInterval(function() {
current -= step;
if(current < stop) current=stop;
element.innerHTML = current;
if(current == stop) clearInterval(timer);
}, delay*1000);
}
只是一个方面说明,这是无关的AJAX(你只是倒计时,不向服务器发出请求)。 – GlenCrawford 2010-06-02 09:42:00