0

私はサイトのカウントダウンタイマーに取り組んでいます-それは実際には目的がなく、ただそこにあります。つまり、基本的には深夜に24時間で開始し、1日中カウントダウンし、再び深夜にリセットします。タイマーを作動させていますが、唯一の問題は、タイマーが「0 HRS、0MIN」と表示されないようにすることです。リセットされるまで1MINのままにする必要があります。私は方法を見つけたと思いましたが、それが機能しているかどうかはわかりません:

var date = new Date();
var month = date.getMonth();
var day = date.getDate();
var dayOfWeek = date.getDay();
var hours = {start: new Date(date.getFullYear(), month, day), end: new Date(date.getFullYear(), month, day)};


updateCountDown();
$(document).ready(function(){
    setInterval('updateCountDown()', 1000);
});

function updateCountDown(){
    var date = new Date();
    var hourDiff = 23 - date.getHours();
    var minDiff = 59 - date.getMinutes();


    $('span.hours').html(23-date.getHours());
    $('span.minutes').html(59 - date.getMinutes());

    if (hourDiff == 0 && minDiff == 0 ) {
     minDiff = 1;
    };
};

今夜深夜まで待たずにこれをテストして何が起こるかを確認する方法はありますか?updateCountDown内の新しいDate()をnew Date( '2/5/13 4:30:00')に変更しようとしましたが、機能しませんでした。

4

2 に答える 2

1

minDiff表示後に変数を更新していました。

これを試して:

var date = new Date();
var month = date.getMonth();
var day = date.getDate();
var dayOfWeek = date.getDay();
var hours = {start: new Date(date.getFullYear(), month, day), end: new Date(date.getFullYear(), month, day)};


updateCountDown();
$(document).ready(function(){
    setInterval(updateCountDown, 1000);
 });

function updateCountDown(){
    var date = new Date();
    var hourDiff = 23 - date.getHours();
    var minDiff = 59 - date.getMinutes();

    if (hourDiff == 0 && minDiff == 0 ) {
      minDiff = 1;
    };

    $('span.hours').html(hourDiff);
    $('span.minutes').html(minDiff);
};
于 2013-02-05T23:46:35.477 に答える
0

new Date()テストするには、updateCountDownメソッド内のへの呼び出しをに置き換えますnew Date(2013, 01, 01, 23, 59, 50)

そして、マーカスによって投稿されたコードを使用してください。

于 2013-02-05T23:48:37.033 に答える