Just a simple BCD binary clock.
A Pen by Paulo Viana on CodePen.
Just a simple BCD binary clock.
A Pen by Paulo Viana on CodePen.
| <div class="container centered"> | |
| <div class="digit hour1"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <div class="digit hour2"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <div class="digit min1"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <div class="digit min2"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <div class="digit sec1"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| <div class="digit sec2"> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| <div class="dot"></div> | |
| </div> | |
| </div> |
| (function($) { | |
| $.fn.reverse = [].reverse | |
| })(jQuery); | |
| $(document).ready(function() { | |
| function blink(array, number) { | |
| array.reverse().each(function() { | |
| if (number % 2 == 1) $(this).addClass('on'); | |
| else $(this).removeClass('on'); | |
| number = number >> 1; | |
| }); | |
| } | |
| setInterval(function() { | |
| var date = new Date(); | |
| var hour = date.getHours(); | |
| var minutes = date.getMinutes(); | |
| var seconds = date.getSeconds(); | |
| blink($('.hour1 .dot'), Math.floor(hour/10)); | |
| blink($('.hour2 .dot'), hour % 10); | |
| blink($('.min1 .dot'), Math.floor(minutes/10)); | |
| blink($('.min2 .dot'), minutes % 10); | |
| blink($('.sec1 .dot'), Math.floor(seconds/10)); | |
| blink($('.sec2 .dot'), seconds % 10); | |
| }, 1000); | |
| }); |
| @import "bourbon"; | |
| $dot-color: rgba(#e9e9e9, 0.4); | |
| $dot-margin: 8px; | |
| $dot-size: 35px; | |
| $container-color: #1f1f1f; | |
| $container-height: calc(4*(#{$dot-size} + #{$dot-margin}) + #{$dot-margin}); | |
| $container-width: calc(6*(#{$dot-size} + 2*#{$dot-margin})); | |
| body { | |
| background: $container-color; | |
| } | |
| .centered { | |
| margin: auto; | |
| @include position(absolute, 0px 0px 0px 0px); | |
| } | |
| .container { | |
| height: $container-height; | |
| width: $container-width; | |
| } | |
| .digit { | |
| display: inline-block; | |
| float: left; | |
| &:first-child { | |
| margin-top: calc(2*(#{$dot-size} + #{$dot-margin})); | |
| } | |
| &:nth-child(2n+3) { | |
| margin-top: calc(#{$dot-size} + #{$dot-margin}); } | |
| } | |
| .dot { | |
| background: $dot-color; | |
| border-radius: 50%; | |
| margin: $dot-margin; | |
| opacity: 0.2; | |
| transition: all 0.5s ease; | |
| @include size($dot-size); | |
| } | |
| .on { | |
| opacity: 1; | |
| } |