Mega Code Archive

 
Categories / JavaScript DHTML / Page Components
 

New Years Count-Down Timer

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd"> <!--       Example File From "JavaScript and DHTML Cookbook"      Published by O'Reilly & Associates      Copyright 2003 Danny Goodman --> <html> <head> <title>Recipe 15.8</title> <style id="mainStyle" type="text/css"> html {background-color:#cccccc} body {background-color:#eeeeee; font-family:Tahoma,Arial,Helvetica,sans-serif; font-size:12px;     margin-left:15%; margin-right:15%; border:3px groove darkred; padding:15px} h1 {text-align:right; font-size:1.5em; font-weight:bold} h2 {text-align:left; font-size:1.1em; font-weight:bold; text-decoration:underline} .buttons {margin-top:10px} </style> <style type="text/css"> table {table-collapse:collapse; border-spacing:0} td {border:2px groove black; padding:7px; background-color:#ccffcc} th {border:2px groove black; padding:7px; background-color:#ffffcc} .ctr {text-align:center} </style> <script type="text/javascript"> if (document.images) {     var imgArray = new Array();     imgArray[0] = new Image(60,120);     imgArray[0].src = "digits/0.gif";     imgArray[1] = new Image(60,120);     imgArray[1].src = "digits/1.gif";     imgArray[2] = new Image(60,120);     imgArray[2].src = "digits/2.gif";     imgArray[3] = new Image(60,120);     imgArray[3].src = "digits/3.gif";     imgArray[4] = new Image(60,120);     imgArray[4].src = "digits/4.gif";     imgArray[5] = new Image(60,120);     imgArray[5].src = "digits/5.gif";     imgArray[6] = new Image(60,120);     imgArray[6].src = "digits/6.gif";     imgArray[7] = new Image(60,120);     imgArray[7].src = "digits/7.gif";     imgArray[8] = new Image(60,120);     imgArray[8].src = "digits/8.gif";     imgArray[9] = new Image(60,120);     imgArray[9].src = "digits/9.gif"; } var nextYear = new Date().getYear() + 1; nextYear += (nextYear < 1900) ? 1900 : 0; var targetDate = new Date(nextYear,0,1); var targetInMS = targetDate.getTime(); var oneSec = 1000; var oneMin = 60 * oneSec; var oneHr = 60 * oneMin; var oneDay = 24 * oneHr; function countDown() {     var nowInMS = new Date().getTime();     var diff = targetInMS - nowInMS;     var scratchPad = diff / oneDay;     var daysLeft = Math.floor(scratchPad);     // hours left     diff -= (daysLeft * oneDay);     scratchPad = diff / oneHr;     var hrsLeft = Math.floor(scratchPad);     // minutes left     diff -= (hrsLeft * oneHr);     scratchPad = diff / oneMin;     var minsLeft = Math.floor(scratchPad);     // seconds left     diff -= (minsLeft * oneMin);     scratchPad = diff / oneSec;     var secsLeft = Math.floor(scratchPad);     // now adjust images     setImages(daysLeft, hrsLeft, minsLeft, secsLeft); } function setImages(days, hrs, mins, secs) {     var i;     days = formatNum(days, 3);      for (i = 0; i < days.length; i++) {         document.images["days" + i].src = imgArray[parseInt(days.charAt(i))].src;     }     hrs = formatNum(hrs, 2);     for (i = 0; i < hrs.length; i++) {         document.images["hours" + i].src = imgArray[parseInt(hrs.charAt(i))].src;     }     mins = formatNum(mins, 2);     for (i = 0; i < mins.length; i++) {         document.images["minutes" + i].src = imgArray[parseInt(mins.charAt(i))].src;     }     secs = formatNum(secs, 2);     for (i = 0; i < secs.length; i++) {         document.images["seconds" + i].src = imgArray[parseInt(secs.charAt(i))].src;     } } function formatNum(num, len) {     var numStr = "" + num;     while (numStr.length < len) {         numStr = "0" + numStr;     }     return numStr } </script> </head> <body style="margin-left:10%; margin-right:10%" onload="setInterval('countDown()', 1000)"> <h1>New Year's Count-Down Timer</h1> <hr />  <table cellspacing="5" cellpadding="5"> <tr>     <td align="right">         <img name="days0" src="digits/0.gif" height="120" width="60" alt="days">         <img name="days1" src="digits/0.gif" height="120" width="60" alt="days">         <img name="days2" src="digits/0.gif" height="120" width="60" alt="days">     </td>     <td align="left">         <img src="digits/days.gif" height="120" width="260" alt="days">     </td> </tr> <tr>     <td align="right">         <img name="hours0" src="digits/0.gif" height="120" width="60" alt="hours">         <img name="hours1" src="digits/0.gif" height="120" width="60" alt="hours">     </td>     <td align="left">         <img src="digits/hours.gif" height="120" width="360" alt="hours">     </td> </tr> <tr>     <td align="right">         <img name="minutes0" src="digits/0.gif" height="120" width="60" alt="minutes">         <img name="minutes1" src="digits/0.gif" height="120" width="60" alt="minutes">     </td>     <td align="left">         <img src="digits/minutes.gif" height="120" width="450" alt="minutes">     </td> </tr> <tr>     <td align="right">         <img name="seconds0" src="digits/0.gif" height="120" width="60" alt="seconds">         <img name="seconds1" src="digits/0.gif" height="120" width="60" alt="seconds">     </td>     <td align="left">         <img src="digits/seconds.gif" height="120" width="460" alt="seconds">     </td> </tr> </table> </body> </html>