私はすでに、このコードをスタックオーバーフローのポイントにする手助けをしてくれました。これはいつものように高く評価されており、スクリプトは95%あります。JQuery、特定の日付のターゲットが期待どおりに機能しない
ものの// Message to appear before countdown
var countdownMessage = "Hurry ends in";
//Set time for countdown to count down till - 24 hour clock
var endHour = 20
var endMin = 59
//Set days to run from/until - 0 = sunday | 6 = saturday
var startDay = 0
var endDay = 5
//Set hours to run from/until - 0 = 12am-12:59am | 10 = 10am-10:59am | 12 = 12pm-12:59pm | 16 = 4pm-4:59pm | 23 = 11pm-11:59pm
var startTime = 6
var endTime = 21
//////////////////////////* Countdown *///////////////////////////////
$(document).ready(function(){
function getSeconds() {
var now = new Date();
var time = now.getTime(); // time now in milliseconds
var countdownEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), (endHour),(endMin)); // countdownEnd 0000 hrs
var ft = countdownEnd.getTime() + 86400000; // add one day
var diff = ft - time;
diff = parseInt(diff/1000);
if (diff > 86400) {
diff = diff - 86400
}
startTimer(diff);
}
var timeInSecs;
var ticker;
function startTimer(secs) {
timeInSecs = parseInt(secs);
ticker = setInterval(tick, 1000);
tick(); // to start counter display right away
}
function tick() {
var secs = timeInSecs;
if (secs > 0) {
timeInSecs--;
} else {
clearInterval(ticker); // stop counting at zero
//getSeconds(); // and start again if required
}
var hours = Math.floor(secs/3600);
secs %= 3600;
var mins = Math.floor(secs/60);
secs %= 60;
var result = ((hours < 10) ? "0" : "") + hours + " hours " + ((mins < 10) ? "0" : "") + mins + " minutes " + ((secs < 10) ? "0" : "") + secs + " seconds";
document.getElementById("countdown").innerHTML = (countdownMessage) + " " + result;
}
$("#countdown").hide();
///////////////* Display at certain time of the day *//////////////////
//gets the current time.
var d = new Date();
var day = d.getDay();
if (day >= (startDay) && day <= (endDay)) {
if (d.getHours() >= (startTime) && d.getHours() <= (endTime)) {
$("#countdown").show();
}
}
getSeconds();
\t
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span id="countdown" style="font-weight: bold;"> </span>
:働いて、私を混乱させないthatsの
ビットは、日付のみこれらの日付範囲の間に、ターゲットのdivを表示し、これらの時間は、それらに及ぶと言う部分があるあります上記のコードでは、日曜日()から土曜日()までずっと表示するように設定されているので、常に表示する必要がありますが、nただし、土曜日まで()土曜日()までの日付範囲を変更すると、正常に動作します(今日は火曜日です)。
何が起こっているのか、何が間違っているのか説明できる人はいますか?
おかげ
まず、現在の日が日曜日、月曜日、火曜日、水曜日、木曜日、金曜日または土曜日であればカウントダウンを「唯一」表示しようとしていますか?基本的には今日は==週の日、 'if'は常に真でなければなりません。代わりに、時間のブラックホールは何ですか? –
実際にサイトでは、これらの設定のうち2つを予定しています.1つはSun - Monday、もう1つは土曜日のメッセージです。私はちょうどそれをサンにしました - 例ではあなたがコードを試してみてもそれが表示されるはずですが、そうではありません。 – Chobbit