2017-10-10 17 views
1

私は現在、毎日11.59にカウントダウンしています。月曜日と水曜日の間にのみカウントダウンを設定する

ただし、毎週水曜日11.59pmまでカウントダウンし、月曜日からのみ表示するように設定する必要があります。

日曜日、土曜日、金曜日、木曜日には、カウントダウンは表示されません。私はそれを考え出したが、毎週水曜日の11.59pmにカウントダウンを設定する方法を見つけることができない。

何となく、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

あなたはカレンダーを表示し、死んだラインに

を見つけるために、それを使用し、その後、現在の日( 0(Sunday)...6(Saturday))を取得するために getDay()値を使用することができます

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>

関連する問題