Code Snippet
The JavaScript Date object can be used to count down to a specified daily time. For instance, this can be used for a “daily deals” timer, where at the end of the time period the deal is no longer available and perhaps hidden.
HTML
<!-- timer will appear here -->
<h3>Only <span id="timer" style="color: red;"></span> left for today's deal!</h3>
JavaScript
The following would reset at midnight each day, where, at that point, the “deal” might switch to something new.
(function() {
// new date (deadline)
let start = new Date;
start.setHours(24, 0, 0); // set deadline as midnight
// set number of digits
function padding(num) {
return ('0' + parseInt(num)).substr(-2);
}
// counter
function ticker() {
// new date object (current)
let now = new Date;
// use today or tomorrow (useful if the deadline is not midnight)
if (now > start) { // too late for today, go to tomorrow
start.setDate(start.getDate() + 1);
}
// get time remaining
let remaining = ((start - now) / 1000);
let hh = padding((remaining / 60 / 60) % 60);
let mm = padding((remaining / 60) % 60);
let ss = padding(remaining % 60);
// output time remaining
document.getElementById('timer').innerHTML = hh + ':' + mm + ':' + ss;
setTimeout(ticker, 1000);
}
// start after load
document.addEventListener('DOMContentLoaded', ticker);
})();
Example:
Only 10:00:47 left for today’s deal!
Note
This is just an example of what it will look like. When actually coded, it will count down.
JavaScript Notes:
- When using JavaScript, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
- JavaScript is a case-sensitive language; firstName is NOT the same as firstname
- Arrays count starting from zero NOT one; so item 1 is position [0], item 2 is position [1], and item 3 is position [2] … and so on
- JavaScript variables must begin with a letter, $, or _
- JavaScript variables are case sensitive (x is not the same as X)
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.