Eri*_*rik 2 javascript jquery countdown
我想从10秒倒数到0.当它达到0时,DIV将重新加载,计时器将重新开始.我有这个功能,它允许它完全像我想要的那样,但问题是,当倒计时达到0并返回到10时,它将计数-1 重载 -2 重载 -3 重载 -4 重载等等.那不是我想要的!:)
这是我的代码:
var time = setInterval(countdown, 1000);
function countdown() {
var count = 10;
countdown = setInterval(function() {
$('#countdown').html(count + ' sekunder kvar');
if(count == 0) {
$('#weather-data').load('jquery-fetch/fetch-weatherdata.php?place=' + myplace);
clearInterval(countdown);
}
count--;
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
如何解决我的问题,以便计时器从10减少到0并永远重复倒计时?
提前致谢.
编辑
当此功能第一次达到0并重新开始时,计数如下:10,9,8,10,7,6,5,4,3,2,1,10,9,8,7,10 ,6,5,4,3,2,1,10,9,8,10,7,6等.为什么这个代码的行为如此?
function countdown() {
var count = 10;
var timerId = setInterval(function() {
$('#countdown').html(count + ' sekunder kvar');
count--;
if(count == 0) {
$('#weather-data').load('jquery-fetch/fetch-weatherdata.php?place=' + myplace);
clearInterval(timerId);
countdown();
}
}, 1000);
}
countdown();
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我在你的剧本中看到很多问题......所以不确定你是如何让它工作的......
-,所以调用不起作用:Scountdown是一个全局变量,function countdown()它与你的函数名相同,实际上是一个countdownceptionInterval当你打电话时,你每隔一秒就有效地创造一个新的countdown要实现您想要的,请尝试更简单:
function countdown() {
// your code goes here
var count = 10;
var timerId = setInterval(function() {
count--;
console.log(count);
if(count == 0) {
// your code goes here
count = 10;
}
}, 1000);
}
countdown();
Run Code Online (Sandbox Code Playgroud)