2-Digit Seven Segments LED Counter with jQuery
| File Size: | 2.05 KB |
|---|---|
| Views Total: | 2120 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A minimalist jQuery plugin used to create an old-style counter with a 2-digit seven segments multiplexed display.
How to use it:
1. Include the latest version of jQuery library from a CDN.
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
2. Create the html for a seven segments display counter.
<div class="digit d2"> <div class="row"></div> <div class="horizontal a"></div> <div class="row vertical b"></div> <div class="block"></div> <div class="vertical c"></div> <div class="row"></div> <div class="horizontal d"></div> <div class="row vertical e"></div> <div class="block"></div> <div class="vertical f"></div> <div class="row"></div> <div class="horizontal g"></div> </div> <div class="digit d1"> <div class="row"></div> <div class="horizontal a"></div> <div class="row vertical b"></div> <div class="block"></div> <div class="vertical c"></div> <div class="row"></div> <div class="horizontal d"></div> <div class="row vertical e"></div> <div class="block"></div> <div class="vertical f"></div> <div class="row"></div> <div class="horizontal g"></div> </div>
3. The CSS to style the counter.
div.digit {
height: 360px;
width: 300px;
float: left;
}
div.digit div {
height: 40px;
width: 40px;
float: left;
border: 2px solid;
border-radius: 15px;
}
div.digit div.horizontal { width: 120px; }
div.digit div.vertical { height: 120px; }
div.digit div.block {
height: 120px;
width: 120px;
}
div.digit div.row { clear: left; }
4. The jQuery script to active the counter on document ready.
var segments = {
0: ['a', 'b', 'c', 'e', 'f', 'g'],
1: [ 'c','f' ],
2: ['a', 'c', 'd', 'e', 'g'],
3: ['a', 'c', 'd', 'f', 'g'],
4: [ 'b', 'c', 'd', 'f' ],
5: ['a', 'b', 'd', 'f', 'g'],
6: ['a', 'b', 'd', 'e', 'f', 'g'],
7: ['a', 'c', 'f' ],
8: ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
9: ['a', 'b', 'c', 'd', 'f', 'g'],
'all': ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
'-': [ 'd' ]
};
var lightSegments = function(number, clazz) {
segments['all'].forEach(function(seg) {
$(clazz + '.' + seg).css("background-color", 'red');
var opacity = 0.15;
if ($.inArray(seg, segments[number]) > -1) {
opacity = 1;
}
$(clazz + '.' + seg).fadeTo(300, opacity);
});
};
var i1 = 0;
var i2 = 0;
var counter = function () {
lightSegments(i1, 'div.d1 div');
lightSegments(i2, 'div.d2 div');
i1++;
if (i1 == 10) {
i1 = 0;
i2++;
}
if (i2 == 10) {
i2 = 0;
}
};
$(document).ready(function () {
lightSegments('-', 'div.d1 div');
lightSegments('-', 'div.d2 div');
var myTimer = window.setInterval(function () {
counter();
}, 1000); // 1000ms
});
This awesome jQuery plugin is developed by rkrabbendam. For more Advanced Usages, please check the demo page or visit the official website.










