Advertisement
tirabytes

HTML: Clock

Apr 1st, 2019
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.67 KB | None | 0 0
  1. <!DOCTYPE html>
  2.  
  3. <html style="display:block; height:100%; margin:0; padding:0">
  4.     <head>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  6.         <title>Clock</title>
  7.         <style type="text/css">
  8.             html {
  9.                 background: #000000;
  10.             }
  11.             #clocktext {
  12.                 padding: 100px;
  13.                 font-family: sans-serif;
  14.                 font-weight: bold;
  15.                 color: #FFFFFF;
  16.             }
  17.         </style>
  18.     </head>
  19.    
  20.     <body style="display:table; width:100%; height:100%; margin:0; padding:0">
  21.         <div style="display:table-cell; width:100%; height:100%; text-align:center; vertical-align:middle">
  22.             <span id="clocktext" style="font-size:24pt; font-kerning:none"></span>
  23.         </div>
  24.        
  25.         <script type="text/javascript">
  26.             "use strict";
  27.            
  28.             var textElem = document.getElementById("clocktext");
  29.             var textNode = document.createTextNode("");
  30.             textElem.appendChild(textNode);
  31.             var curFontSize = 24;
  32.            
  33.             function updateClock() {
  34.                 var d = new Date();
  35.                 var s = "";
  36.                 s += ((d.getHours() + 11) % 12 + 1) + ":";
  37.                 s += (10 > d.getMinutes() ? "0" : "") + d.getMinutes() + " ";
  38.                 s += d.getHours() >= 12 ? "pm" : "am";
  39.                 textNode.data = s;
  40.                 setTimeout(updateClock, 1000 - d.getTime() % 1000 + 20);
  41.             }
  42.            
  43.             function updateTextSize() {
  44.                 var targetWidth = 0.9;  // Proportion of full screen width
  45.                 for (var i = 0; 3 > i; i++) {
  46.                     var newFontSize = textElem.parentNode.offsetWidth * targetWidth / textElem.offsetWidth * curFontSize;
  47.                     textElem.style.fontSize = newFontSize.toFixed(3) + "pt";
  48.                     curFontSize = newFontSize;
  49.                 }
  50.             }
  51.            
  52.             updateClock();
  53.             updateTextSize();
  54.             window.addEventListener("resize", updateTextSize);
  55.         </script>
  56.     </body>
  57. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement