0

この行で「カウントダウンが定義されていません」というメッセージが表示され続けます

  var timeout = setTimeout('countdown()',1000);

function countdown()毎秒ループする必要があります。どうすればこれを解決できますか?

function countdown() {

var until = $('.time-elapsed').attr('data-time');
var nextmonth = new Date(until);
var now = new Date();
var timeDiff = nextmonth.getTime() - now.getTime();

if(timeDiff <=0) {
var nextmonth = new Date(until);
}

var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days =  Math.floor(hours / 24);

hours%=24;
minutes%=60;
seconds%=60;

$('.time-elapsed').find('ul:eq(0)').find('li:eq(1)').html(days);
$('.time-elapsed').find('ul:eq(1)').find('li:eq(1)').html(hours);
$('.time-elapsed').find('ul:eq(2)').find('li:eq(1)').html(minutes);
$('.time-elapsed').find('ul:eq(3)').find('li:eq(1)').html(seconds);

var timeout = setTimeout('countdown()',1000);

}
4

1 に答える 1

2

setTimeout の最初のパラメーターとして文字列を使用しないでください。代わりに関数を使用します。

var timeout = setTimeout(countdown,1000);

そして、関数の下部にあるを使用setInterval(countdown,1000)して削除することをお勧めします。関数を無限に繰り返します。setTimeout(countdown,1000)setIntervalcountdown

それを停止するには、単に使用しますclearInterval(timeout);

于 2012-06-09T16:59:46.723 に答える