0

私のサイトにはカウントダウンがあります。次の金曜日までカウントダウンしたいのですが、金曜日が終わったら、次の金曜日まで自動的にカウントダウンしたい..そしてそれを繰り返すだけです..

私はこのスクリプトを持っていますが、うまく動かないようです。

前もって感謝します

$(function(){

var note = $('#note'),
    ts = new Date(5), //Setting the date here
    newYear = true;

if((new Date()) > ts){
    ts = (new Date()).getTime() + 10*24*60*60*1000;
    newYear = false;
}

$('#countdown').countdown({
    timestamp   : ts,
    callback    : function(days, hours, minutes, seconds){

        var message = "";

        message += days + " day" + ( days==1 ? '':'s' ) + ", ";
        message += hours + " hour" + ( hours==1 ? '':'s' ) + ", ";
        message += minutes + " minute" + ( minutes==1 ? '':'s' ) + " and ";
        message += seconds + " second" + ( seconds==1 ? '':'s' ) + " <br />";

        if(newYear){
            message += "left until the new year!";
        }
        else {
            message += "left to 10 days from now!";
        }

        note.html(message);
    }
});

});
4

1 に答える 1

2

Date オブジェクトに存在する getDay() メソッドを使用して、0 = 日曜日、1 = 月曜日、5 = 金曜日の数字を返します。
今日が何日で、次の日 5 まであと何日かを判断します。
次に、ts = (new Date()).getTime() + 60*60*24*daysUntilFriday*1000;
この後、メソッド setHours()、setMinutes()、および Seconds to 0 も使用して、金曜日が始まるまでの正確な時間を取得します。

編集!次の金曜日の日付で新しい Date オブジェクトを取得するために setTime(ts) を使用したい ts 変数を使い終わったら申し訳ありません。次に、時間、分、秒をゼロに設定し始めてから、 getTime() をもう一度設定して、 ts がカウントダウン メソッドの正しい形式になるようにします。

幸運を!

よろしくトバイアス

于 2012-08-22T14:13:08.457 に答える