2017-10-10 59 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>

相关问题