modular JavaScript clock
modular approach to javascript clock
by ndw5015
HTML
<div id="clock"></div>
JavaScript
(function() {
/*
module approach to javascript clock
*/
var myModule = (function() {
'use strict';
var currentTime = new Date();
//pass hours and meridiem as arguments
//set hour function
function setHour(hours,meridiem){
hours = currentTime.getHours();
hours = hours < 10 ? '0' + hours : hours;
if(hours > 12){
hours = hours - 12;
meridiem = 'PM';
}
else{
meridiem = 'AM';
}
if(hours == 0){
hours = 12;
}
//return the hours and meridiem argument as an object
return{
hours: hours,
meridiem: meridiem
}
}
//pass minutes as an argument
//set minutes function
function setMinutes(minutes){
minutes = currentTime.getMinutes();
minutes = minutes < 10 ? '0' + minutes : minutes;
return minutes;
}
//passseconds as an argument
//set seconds function
function setSeconds(seconds){
seconds = currentTime.getSeconds();
seconds = seconds < 10 ? '0' + seconds : seconds;
return seconds;
}
//return functions as objects
return{
setHour : setHour,
setMinutes : setMinutes,
setSeconds: setSeconds
}
}());
/* grab hours meridiem object arguments by drilling down
from myModule function to setHours function to argument
*/
console.log(myModule.setHour().hours);
console.log(myModule.setHour().meridiem);
//get minutes object by dilling down
console.log(myModule.setMinutes());
//get seconds object by drilling down
console.log(myModule.setSeconds());
//find clock div id
var clockDiv = document.getElementById('clock');
var h = myModule.setHour().hours;
var m = myModule.setMinutes();
var s = myModule.setSeconds();
var meridiem = myModule.setHour().meridiem;
//set new function to pass to set Interval
function...