1

jQueryにこのスクリプトがあります:

// Auction countdown script
$(function () {

var remaining = $("#countdown").text(),
    regex = /\d{2}/g,
    matches = remaining.match(regex),
    hours = matches[0],
    minutes = matches[1],
    seconds = matches[2],
    remainingDate = new Date();

remainingDate.setHours(hours);
remainingDate.setMinutes(minutes);
remainingDate.setSeconds(seconds);

var intvl = setInterval(function () {
    var totalMs = remainingDate.getTime(),
        hours, minutes, seconds;

remainingDate.setTime(totalMs - 1000);

hours = remainingDate.getHours();
minutes = remainingDate.getMinutes();
seconds = remainingDate.getSeconds();

if (hours === 0 && minutes === 0 && seconds === 0) {
    alert('done');
}

$("#countdown").text(
    (hours >= 10 ? hours : "0" + hours) + ":" +
    (minutes >= 10 ? minutes : "0" + minutes)  + ":" +
    (seconds >= 10 ? seconds : "0" + seconds));

}, 1000);

});

さて、これは文字列を取り、その HHMMSS カウントダウンを作成します。私はそれを DDHHMMSS にしたいのですが、それを機能させることができないようです。誰かが私を正しい方向に向けることができますか?

ありがとう!

4

3 に答える 3

3

自分でカウントダウン関数を作成したい場合は、以下のリンクから参照して正しいロジックを構築してください。

http://stuntsnippets.com/javascript-countdown/

http://www.hashemian.com/tools/javascript-countdown.htm

また

以下のjQueryプラグインのいずれかを使用することをお勧めします

http://www.littlewebthings.com/projects/countdown/

http://keith-wood.name/countdown.html

それが役に立てば幸い

オールディーベスト

于 2012-08-01T12:07:24.633 に答える
0

基本的な問題は、Date オブジェクトが時間間隔ではなく、日付と時刻を対象としていることです。そのため、setDate() と getDate() は、日数ではなく月の日付で動作します。

単純に整数を使用して、1 分間の秒数、1 時間の分数などで割ることもできます。または、ここで説明するように、TimeInterval オブジェクトを実装することもできます。

http://i-programmer.info/programming/javascript/3088-a-javascript-timeinterval-object.html

于 2012-08-01T12:14:28.493 に答える
-1

そのために使用toStringします:

var remainingDate = new Date();
remainingDate.toString("dd-MM-yyyy HH:mm:ss");

これは、例えば01-08-2012 14:08:22

于 2012-08-01T12:08:59.097 に答える