Skip to content

Instantly share code, notes, and snippets.

@f8lrebel
Created July 1, 2012 05:39
Show Gist options
  • Save f8lrebel/3026999 to your computer and use it in GitHub Desktop.
Save f8lrebel/3026999 to your computer and use it in GitHub Desktop.
A web page created at CodePen.io
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>LED Clock &middot; CodePen</title>
<style>
body {
background:#000000;
}
.board {
margin:0 auto;
position:relative;
top:50px;
overflow:hidden;
border:5px solid #fff;
border-radius:5px;
z-index:3;
width:735px;
height:135px;
}
.block-digital {
float: left;
position: relative;
z-index:10;
width:90px;
height:135px;
}
.block-padding {
float: left;
position: relative;
z-index:10;
width:15px;
height:135px;
}
.light {
background:#222;
position:absolute;
margin:1px;
border-radius:13px;
width:13px;
height:13px;
}
.colon .row-2.col-2,
.colon .row-2.col-3,
.colon .row-3.col-2,
.colon .row-3.col-3,
.colon .row-5.col-2,
.colon .row-5.col-3,
.colon .row-6.col-2,
.colon .row-6.col-3
{
background:#d8b711;
}
.num-0 .row-1.col-2,
.num-0 .row-1.col-3,
.num-0 .row-1.col-4,
.num-0 .row-2.col-1,
.num-0 .row-2.col-5,
.num-0 .row-3.col-1,
.num-0 .row-3.col-4,
.num-0 .row-3.col-5,
.num-0 .row-4.col-1,
.num-0 .row-4.col-3,
.num-0 .row-4.col-5,
.num-0 .row-5.col-1,
.num-0 .row-5.col-1,
.num-0 .row-5.col-2,
.num-0 .row-5.col-5,
.num-0 .row-6.col-1,
.num-0 .row-6.col-5,
.num-0 .row-7.col-2,
.num-0 .row-7.col-3,
.num-0 .row-7.col-4
{
background:#d8b711;
}
.num-1 .row-1.col-3,
.num-1 .row-2.col-2,
.num-1 .row-2.col-3,
.num-1 .row-3.col-3,
.num-1 .row-4.col-3,
.num-1 .row-5.col-3,
.num-1 .row-6.col-3,
.num-1 .row-7.col-2,
.num-1 .row-7.col-3,
.num-1 .row-7.col-4
{
background:#d8b711;
}
.num-2 .row-1.col-2,
.num-2 .row-1.col-3,
.num-2 .row-1.col-4,
.num-2 .row-2.col-1,
.num-2 .row-2.col-5,
.num-2 .row-3.col-5,
.num-2 .row-4.col-4,
.num-2 .row-5.col-3,
.num-2 .row-6.col-2,
.num-2 .row-7.col-1,
.num-2 .row-7.col-2,
.num-2 .row-7.col-3,
.num-2 .row-7.col-4,
.num-2 .row-7.col-5
{
background:#d8b711;
}
.num-3 .row-1.col-1,
.num-3 .row-1.col-2,
.num-3 .row-1.col-3,
.num-3 .row-1.col-4,
.num-3 .row-1.col-5,
.num-3 .row-2.col-4,
.num-3 .row-3.col-3,
.num-3 .row-4.col-4,
.num-3 .row-5.col-5,
.num-3 .row-6.col-1,
.num-3 .row-6.col-5,
.num-3 .row-7.col-4,
.num-3 .row-7.col-3,
.num-3 .row-7.col-2
{
/*background:#ffff33;*/
background:#d8b711;
}
.num-4 .row-1.col-4,
.num-4 .row-2.col-3,
.num-4 .row-2.col-4,
.num-4 .row-3.col-2,
.num-4 .row-3.col-4,
.num-4 .row-4.col-1,
.num-4 .row-4.col-4,
.num-4 .row-5.col-1,
.num-4 .row-5.col-2,
.num-4 .row-5.col-3,
.num-4 .row-5.col-4,
.num-4 .row-5.col-5,
.num-4 .row-6.col-4,
.num-4 .row-7.col-4
{
background:#d8b711;
}
.num-5 .row-1.col-1,
.num-5 .row-1.col-2,
.num-5 .row-1.col-3,
.num-5 .row-1.col-4,
.num-5 .row-1.col-5,
.num-5 .row-2.col-1,
.num-5 .row-3.col-1,
.num-5 .row-3.col-2,
.num-5 .row-3.col-3,
.num-5 .row-3.col-4,
.num-5 .row-4.col-5,
.num-5 .row-5.col-5,
.num-5 .row-6.col-1,
.num-5 .row-6.col-5,
.num-5 .row-7.col-2,
.num-5 .row-7.col-3,
.num-5 .row-7.col-4
{
/*background:#ffff33;*/
background:#d8b711;
}
.num-6 .row-1.col-3,
.num-6 .row-1.col-4,
.num-6 .row-2.col-2,
.num-6 .row-3.col-1,
.num-6 .row-4.col-1,
.num-6 .row-4.col-2,
.num-6 .row-4.col-3,
.num-6 .row-4.col-4,
.num-6 .row-5.col-1,
.num-6 .row-5.col-5,
.num-6 .row-6.col-1,
.num-6 .row-6.col-5,
.num-6 .row-7.col-2,
.num-6 .row-7.col-3,
.num-6 .row-7.col-4
{
background:#d8b711;
}
.num-7 .row-1.col-1,
.num-7 .row-1.col-2,
.num-7 .row-1.col-3,
.num-7 .row-1.col-4,
.num-7 .row-1.col-5,
.num-7 .row-2.col-5,
.num-7 .row-3.col-4,
.num-7 .row-4.col-3,
.num-7 .row-5.col-2,
.num-7 .row-6.col-2,
.num-7 .row-7.col-2
{
background:#d8b711;
}
.num-8 .row-1.col-2,
.num-8 .row-1.col-3,
.num-8 .row-1.col-4,
.num-8 .row-2.col-1,
.num-8 .row-2.col-5,
.num-8 .row-3.col-1,
.num-8 .row-3.col-5,
.num-8 .row-4.col-2,
.num-8 .row-4.col-3,
.num-8 .row-4.col-4,
.num-8 .row-5.col-1,
.num-8 .row-5.col-5,
.num-8 .row-6.col-1,
.num-8 .row-6.col-5,
.num-8 .row-7.col-2,
.num-8 .row-7.col-3,
.num-8 .row-7.col-4
{
background:#d8b711;
}
.num-9 .row-1.col-2,
.num-9 .row-1.col-3,
.num-9 .row-1.col-4,
.num-9 .row-2.col-1,
.num-9 .row-2.col-5,
.num-9 .row-3.col-1,
.num-9 .row-3.col-5,
.num-9 .row-4.col-2,
.num-9 .row-4.col-3,
.num-9 .row-4.col-4,
.num-9 .row-4.col-5,
.num-9 .row-5.col-5,
.num-9 .row-6.col-4,
.num-9 .row-7.col-2,
.num-9 .row-7.col-3
{
background:#d8b711;
}
</style>
<style>
#codepen-footer, #codepen-footer * {
-webkit-box-sizing: border-box !important;
-moz-box-sizing: border-box !important;
box-sizing: border-box !important;
}
#codepen-footer {
display: block !important;
position: fixed !important;
bottom: 0 !important;
left: 0 !important;
width: 100% !important;
padding: 0 10px !important;
margin: 0 !important;
height: 30px !important;
line-height: 30px !important;
font-size: 12px !important;
color: #eeeeee !important;
background-color: #505050 !important;
text-align: left !important;
background: -webkit-linear-gradient(top, #505050, #383838) !important;
background: -moz-linear-gradient(top, #505050, #383838) !important;
background: -ms-linear-gradient(top, #505050, #383838) !important;
background: -o-linear-gradient(top, #505050, #383838) !important;
border-top: 1px solid black !important;
border-bottom: 1px solid black !important;
border-radius: 0 !important;
border-image: none !important;
box-shadow: inset 0 1px 0 #6e6e6e, 0 2px 2px rgba(0, 0, 0, 0.4) !important;
z-index: 300 !important;
font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, sans-serif !important;
letter-spacing: 0 !important;
word-spacing: 0 !important;
}
#codepen-footer a {
color: #a7a7a7 !important;
text-decoration: none !important;
}
#codepen-footer a:hover {
color: white !important;
}
</style>
<script>
// Kill alerts, confirmations and prompts
window.alert = function(){};
window.confirm = function(){};
window.prompt = function(){};
window.open = function(){};
window.print = function(){};
</script>
<script src="http://codepen.io/javascripts/libs/prefixfree.min.js"></script>
</head>
<body>
<div class="led">
<div class="board">
<div id="led">
<div id="time-hh" class="block-digital num-0">
</div>
<div id="time-h" class="block-digital num-0">
</div>
<div id="time-h-colon" class="block-digital colon">
</div>
<div id="time-mm" class="block-digital num-0">
</div>
<div id="time-m" class="block-digital num-0">
</div>
<div id="time-m-colon" class="block-digital colon">
</div>
<div id="time-ss" class="block-digital num-0">
</div>
<div id="time-s" class="block-digital num-0">
</div>
<div id="time-padding" class="block-padding">
</div>
</div>
</div>
</div>
<script src="http://codepen.io/javascripts/libs/modernizr.js"></script>
<script>
(function() {
var led = document.getElementById('led'),
els = led.childNodes,
uid=0, size=15, w=0, h=0, row=0, col=0,
arr_lights=[];
var hh = document.getElementById('time-hh'),
hx = document.getElementById('time-h'),
mm = document.getElementById('time-mm'),
mx = document.getElementById('time-m'),
ss = document.getElementById('time-ss'),
sx = document.getElementById('time-s');
for(var k=0, len=els.length; k<len; k++){
if(els[k].nodeType!=1)
continue;
w = parseInt(els[k].clientWidth);
h = parseInt(els[k].clientHeight);
row = parseInt(h/size);
col = parseInt(w/size);
var t, l, sum=0;
for(var i=0; i<row; i++){
for(var j=0; j<col; j++){
uid++;
t = size*i;
l = size*j;
arr_lights.push( '<div uid="'+uid+'" id="l-'+uid+'" class="light row-'+i+' col-'+j+'" style="top:'+t+'px;left:'+l+'px"></div>');
}
}
els[k].innerHTML = arr_lights.join("");
arr_lights=[];
}
setInterval(function(){
var now = new Date(),
time_hh = parseInt(now.getHours()),
time_mm = parseInt(now.getMinutes()),
time_ss = parseInt(now.getSeconds());
hh.className = "block-digital num-"+parseInt(time_hh/10);
hx.className = "block-digital num-"+parseInt(time_hh%10);
mm.className = "block-digital num-"+parseInt(time_mm/10);
mx.className = "block-digital num-"+parseInt(time_mm%10);
ss.className = "block-digital num-"+parseInt(time_ss/10);
sx.className = "block-digital num-"+parseInt(time_ss%10);
}, 1000);
})();
</script>
<div id="codepen-footer">
<a style="color: #f73535 !important;" href="https://codepen.wufoo.com/forms/m7x3r3/def/field14=" onclick="window.open(this.href, null, 'height=517, width=680, toolbar=0, location=0, status=1, scrollbars=1, resizable=1'); return false">Report Abuse</a>
&nbsp;
<a href="/wilson1315/pen/ledclock/2">Edit this Pen</a>
</div>
</body>
</html>
var led = document.getElementById('led'),
els = led.childNodes,
uid=0, size=15, w=0, h=0, row=0, col=0,
arr_lights=[];
var hh = document.getElementById('time-hh'),
hx = document.getElementById('time-h'),
mm = document.getElementById('time-mm'),
mx = document.getElementById('time-m'),
ss = document.getElementById('time-ss'),
sx = document.getElementById('time-s');
for(var k=0, len=els.length; k<len; k++){
if(els[k].nodeType!=1)
continue;
w = parseInt(els[k].clientWidth);
h = parseInt(els[k].clientHeight);
row = parseInt(h/size);
col = parseInt(w/size);
var t, l, sum=0;
for(var i=0; i<row; i++){
for(var j=0; j<col; j++){
uid++;
t = size*i;
l = size*j;
arr_lights.push( '<div uid="'+uid+'" id="l-'+uid+'" class="light row-'+i+' col-'+j+'" style="top:'+t+'px;left:'+l+'px"></div>');
}
}
els[k].innerHTML = arr_lights.join("");
arr_lights=[];
}
setInterval(function(){
var now = new Date(),
time_hh = parseInt(now.getHours()),
time_mm = parseInt(now.getMinutes()),
time_ss = parseInt(now.getSeconds());
hh.className = "block-digital num-"+parseInt(time_hh/10);
hx.className = "block-digital num-"+parseInt(time_hh%10);
mm.className = "block-digital num-"+parseInt(time_mm/10);
mx.className = "block-digital num-"+parseInt(time_mm%10);
ss.className = "block-digital num-"+parseInt(time_ss/10);
sx.className = "block-digital num-"+parseInt(time_ss%10);
}, 1000);
<div class="led">
<div class="board">
<div id="led">
<div id="time-hh" class="block-digital num-0">
</div>
<div id="time-h" class="block-digital num-0">
</div>
<div id="time-h-colon" class="block-digital colon">
</div>
<div id="time-mm" class="block-digital num-0">
</div>
<div id="time-m" class="block-digital num-0">
</div>
<div id="time-m-colon" class="block-digital colon">
</div>
<div id="time-ss" class="block-digital num-0">
</div>
<div id="time-s" class="block-digital num-0">
</div>
<div id="time-padding" class="block-padding">
</div>
</div>
</div>
</div>
body {
background:#000000;
}
.board {
margin:0 auto;
position:relative;
top:50px;
overflow:hidden;
border:5px solid #fff;
border-radius:5px;
z-index:3;
width:735px;
height:135px;
}
.block-digital {
float: left;
position: relative;
z-index:10;
width:90px;
height:135px;
}
.block-padding {
float: left;
position: relative;
z-index:10;
width:15px;
height:135px;
}
.light {
background:#222;
position:absolute;
margin:1px;
border-radius:13px;
width:13px;
height:13px;
}
.colon .row-2.col-2,
.colon .row-2.col-3,
.colon .row-3.col-2,
.colon .row-3.col-3,
.colon .row-5.col-2,
.colon .row-5.col-3,
.colon .row-6.col-2,
.colon .row-6.col-3
{
background:#d8b711;
}
.num-0 .row-1.col-2,
.num-0 .row-1.col-3,
.num-0 .row-1.col-4,
.num-0 .row-2.col-1,
.num-0 .row-2.col-5,
.num-0 .row-3.col-1,
.num-0 .row-3.col-4,
.num-0 .row-3.col-5,
.num-0 .row-4.col-1,
.num-0 .row-4.col-3,
.num-0 .row-4.col-5,
.num-0 .row-5.col-1,
.num-0 .row-5.col-1,
.num-0 .row-5.col-2,
.num-0 .row-5.col-5,
.num-0 .row-6.col-1,
.num-0 .row-6.col-5,
.num-0 .row-7.col-2,
.num-0 .row-7.col-3,
.num-0 .row-7.col-4
{
background:#d8b711;
}
.num-1 .row-1.col-3,
.num-1 .row-2.col-2,
.num-1 .row-2.col-3,
.num-1 .row-3.col-3,
.num-1 .row-4.col-3,
.num-1 .row-5.col-3,
.num-1 .row-6.col-3,
.num-1 .row-7.col-2,
.num-1 .row-7.col-3,
.num-1 .row-7.col-4
{
background:#d8b711;
}
.num-2 .row-1.col-2,
.num-2 .row-1.col-3,
.num-2 .row-1.col-4,
.num-2 .row-2.col-1,
.num-2 .row-2.col-5,
.num-2 .row-3.col-5,
.num-2 .row-4.col-4,
.num-2 .row-5.col-3,
.num-2 .row-6.col-2,
.num-2 .row-7.col-1,
.num-2 .row-7.col-2,
.num-2 .row-7.col-3,
.num-2 .row-7.col-4,
.num-2 .row-7.col-5
{
background:#d8b711;
}
.num-3 .row-1.col-1,
.num-3 .row-1.col-2,
.num-3 .row-1.col-3,
.num-3 .row-1.col-4,
.num-3 .row-1.col-5,
.num-3 .row-2.col-4,
.num-3 .row-3.col-3,
.num-3 .row-4.col-4,
.num-3 .row-5.col-5,
.num-3 .row-6.col-1,
.num-3 .row-6.col-5,
.num-3 .row-7.col-4,
.num-3 .row-7.col-3,
.num-3 .row-7.col-2
{
/*background:#ffff33;*/
background:#d8b711;
}
.num-4 .row-1.col-4,
.num-4 .row-2.col-3,
.num-4 .row-2.col-4,
.num-4 .row-3.col-2,
.num-4 .row-3.col-4,
.num-4 .row-4.col-1,
.num-4 .row-4.col-4,
.num-4 .row-5.col-1,
.num-4 .row-5.col-2,
.num-4 .row-5.col-3,
.num-4 .row-5.col-4,
.num-4 .row-5.col-5,
.num-4 .row-6.col-4,
.num-4 .row-7.col-4
{
background:#d8b711;
}
.num-5 .row-1.col-1,
.num-5 .row-1.col-2,
.num-5 .row-1.col-3,
.num-5 .row-1.col-4,
.num-5 .row-1.col-5,
.num-5 .row-2.col-1,
.num-5 .row-3.col-1,
.num-5 .row-3.col-2,
.num-5 .row-3.col-3,
.num-5 .row-3.col-4,
.num-5 .row-4.col-5,
.num-5 .row-5.col-5,
.num-5 .row-6.col-1,
.num-5 .row-6.col-5,
.num-5 .row-7.col-2,
.num-5 .row-7.col-3,
.num-5 .row-7.col-4
{
/*background:#ffff33;*/
background:#d8b711;
}
.num-6 .row-1.col-3,
.num-6 .row-1.col-4,
.num-6 .row-2.col-2,
.num-6 .row-3.col-1,
.num-6 .row-4.col-1,
.num-6 .row-4.col-2,
.num-6 .row-4.col-3,
.num-6 .row-4.col-4,
.num-6 .row-5.col-1,
.num-6 .row-5.col-5,
.num-6 .row-6.col-1,
.num-6 .row-6.col-5,
.num-6 .row-7.col-2,
.num-6 .row-7.col-3,
.num-6 .row-7.col-4
{
background:#d8b711;
}
.num-7 .row-1.col-1,
.num-7 .row-1.col-2,
.num-7 .row-1.col-3,
.num-7 .row-1.col-4,
.num-7 .row-1.col-5,
.num-7 .row-2.col-5,
.num-7 .row-3.col-4,
.num-7 .row-4.col-3,
.num-7 .row-5.col-2,
.num-7 .row-6.col-2,
.num-7 .row-7.col-2
{
background:#d8b711;
}
.num-8 .row-1.col-2,
.num-8 .row-1.col-3,
.num-8 .row-1.col-4,
.num-8 .row-2.col-1,
.num-8 .row-2.col-5,
.num-8 .row-3.col-1,
.num-8 .row-3.col-5,
.num-8 .row-4.col-2,
.num-8 .row-4.col-3,
.num-8 .row-4.col-4,
.num-8 .row-5.col-1,
.num-8 .row-5.col-5,
.num-8 .row-6.col-1,
.num-8 .row-6.col-5,
.num-8 .row-7.col-2,
.num-8 .row-7.col-3,
.num-8 .row-7.col-4
{
background:#d8b711;
}
.num-9 .row-1.col-2,
.num-9 .row-1.col-3,
.num-9 .row-1.col-4,
.num-9 .row-2.col-1,
.num-9 .row-2.col-5,
.num-9 .row-3.col-1,
.num-9 .row-3.col-5,
.num-9 .row-4.col-2,
.num-9 .row-4.col-3,
.num-9 .row-4.col-4,
.num-9 .row-4.col-5,
.num-9 .row-5.col-5,
.num-9 .row-6.col-4,
.num-9 .row-7.col-2,
.num-9 .row-7.col-3
{
background:#d8b711;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment