2017-10-10 35 views
1

我目前每天有一個倒計時到11點59分。設置倒計時只在星期一和星期三之間顯示

但是,我需要設置它,以便每週星期三下午11點59分倒計時,並且只顯示從星期一開始。

所以在星期日,星期六,星期五和星期四倒計時不會顯示。我已經想出了一點,但無法找到一個方法來設置每個星期三晚上11點59分我的倒計時。

我想這將與getDay()以某種方式完成,但不知道如何把它放在一起。

這是目前我已經得到了代碼:

var today = new Date(new Date().getTime()); 
var deadline = new Date(Date.UTC(today.getFullYear(), today.getMonth(), today.getDate(), 10, 59, 59)); 

function time_remaining(endtime) { 
    var t = endtime - new Date(); 
    var seconds = Math.floor((t/1000) % 60); 
    var minutes = Math.floor((t/1000/60) % 60); 
    var hours = Math.floor((t/(1000 * 60 * 60)) % 24); 
    return { 
    'total': t, 
    'hours': hours, 
    'minutes': minutes, 
    'seconds': seconds 
    }; 
} 

function run_clock(id, endtime) { 
    var clock = document.getElementById(id); 
    if (null === clock) { 
    return; 
    } 
    var hours_span = clock.querySelector('.hours'); 
    var minutes_span = clock.querySelector('.minutes'); 
    var seconds_span = clock.querySelector('.seconds'); 

    function update_clock() { 
    var t = time_remaining(endtime); 
    hours_span.innerHTML = ('0' + t.hours).slice(-2); 
    minutes_span.innerHTML = ('0' + t.minutes).slice(-2); 
    seconds_span.innerHTML = ('0' + t.seconds).slice(-2); 
    day = today.getDay(); 
    if ((t.total <= 0) || (day === 0) || (day === 6) || (day === 5) || (day === 4)) { 
     clearInterval(timeinterval); 
     document.getElementById('deadline_Container').style.display = "none"; 
    } 
    } 
    update_clock(); 
    var timeinterval = setInterval(update_clock, 1000); 
} 
run_clock('clockdiv', deadline); 

回答

0

可以使用getDay()值來獲取當前日(0(Sunday)...6(Saturday)),然後用它來顯示日曆,發現死者系

var today = new Date(), 
 
    curDay = today.getDay(); 
 
var deadline = new Date(Date.UTC(today.getFullYear(), today.getMonth(), today.getDate() + 3 - curDay, 10, 59, 59)); 
 

 
//var x = 0; 
 
function time_remaining(endtime) { 
 
    var t = endtime - new Date(); 
 
    //var t = endtime - new Date(today).setSeconds(today.getSeconds()+ ++x); 
 
    var seconds = Math.floor((t/1000) % 60); 
 
    var minutes = Math.floor((t/1000/60) % 60); 
 
    var hours = Math.floor((t/(1000 * 60 * 60)) % 24); 
 
    var days = Math.floor(t/(1000 * 60 * 60 * 24)); 
 
    //console.log(t, days) 
 
    return { 
 
    'total': t, 
 
    'days': days, 
 
    'hours': hours, 
 
    'minutes': minutes, 
 
    'seconds': seconds 
 
    }; 
 
} 
 

 
function run_clock(id, endtime) { 
 
    var clock = document.getElementById(id); 
 
    if (null === clock) { 
 
    return; 
 
    } 
 
    var days_span = clock.querySelector('.days'); 
 
    var hours_span = clock.querySelector('.hours'); 
 
    var minutes_span = clock.querySelector('.minutes'); 
 
    var seconds_span = clock.querySelector('.seconds'); 
 

 
    function update_clock() { 
 
    var t = time_remaining(endtime); 
 
    days_span.innerHTML = ('0' + t.days).slice(-2); 
 
    hours_span.innerHTML = ('0' + t.hours).slice(-2); 
 
    minutes_span.innerHTML = ('0' + t.minutes).slice(-2); 
 
    seconds_span.innerHTML = ('0' + t.seconds).slice(-2); 
 
    day = today.getDay(); 
 
    if ((t.total <= 0) || (day === 0) || (day === 6) || (day === 5) || (day === 4)) { 
 
     clearInterval(timeinterval); 
 
     document.getElementById('deadline_Container').style.display = "none"; 
 
    } 
 
    } 
 
    update_clock(); 
 
    var timeinterval = setInterval(update_clock, 1000); 
 
} 
 
if (curDay > 0 && today < deadline) { 
 
    run_clock('clockdiv', deadline); 
 
}
<div id="deadline_Container"></div> 
 
<div id="clockdiv"> 
 
    <span class="days"></span> 
 
    <span class="hours"></span> 
 
    <span class="minutes"></span> 
 
    <span class="seconds"></span> 
 
</div>

相關問題