1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
(function($){
$.fn.clock = function(params)
{
this.each(function(){
var defauts = {
value: false, //Affiche ou non les valeurs des leds (true/false)
spacing: false, //Effectue un espacement entre heures, minutes et secondes ou non (true/false)
ledSize: '30', //Taille en px
Hcolor: '#FF0000', //Couleur des leds Heure
Mcolor: '#00FF00', //Couleur des leds Minute
Scolor: '#0000FF'//Couleur des leds Seconde
};
params = $.extend(defauts, params); //Récupère les valeurs par défaut des valeurs non renseignées
var tabClock = [[ 0, 38, 0, 28, 0, 18],
[ 0, 34, 0, 24, 0, 14],
[ 0, 32, 232, 22, 132, 12],
[316, 31, 216, 21, 116, 11]];
var tabVal = [[ 0, 8, 0, 8, 0, 8],
[ 0, 4, 0, 4, 0, 4],
[ 0, 2, 32, 2, 32, 2],
[16, 1, 16, 1, 16, 1]];
ledColorHeu = params['Hcolor'];
ledColorMin = params['Mcolor'];
ledColorSec = params['Scolor'];
var i, j;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 6; j++)
{
if(tabClock[i][j] != 0)
{
var hauteur = (parseInt(params['ledSize']) + 2) * i;
var longueur = (parseInt(params['ledSize']) + 2) * j;
if(params['spacing'] && (j >= 2 && j < 4))
longueur = ((parseInt(params['ledSize']) + 2) * j) + 5;
if(params['spacing'] && j >= 4)
longueur = ((parseInt(params['ledSize']) + 2) * j) + 10;
if(!params['value'])
$(this).append('<div class="' + tabClock[i][j] + '" style="position:absolute;top:' + hauteur + 'px;left:' + longueur + 'px;"></div>');
if(params['value'])
$(this).append('<div class="' + tabClock[i][j] + '" style="position:absolute;top:' + hauteur + 'px;left:' + longueur + 'px;">' + tabVal[i][j] + '</div>');
}
}
}
$('div', this).width(params['ledSize'] + 'px')
.height(params['ledSize'] + 'px')
.css('border', '1px solid black')
.css('border-radius', params['ledSize'] + 'px')
.css('text-align', 'center');
function Clock() {
$('.binaryClock div').css('background', 'white').css('color', 'black');
var laDate = new Date();
Calcul(3, laDate.getHours(), ledColorHeu);
Calcul(2, laDate.getMinutes(), ledColorMin);
Calcul(1, laDate.getSeconds(), ledColorSec);
}
function Calcul(type, valeur, ledColor){
if(valeur >= 32)
{
$('div.' + type + '32').css('background', ledColor)
.css('color', 'white');
valeur -= 32;
}
if(valeur >= 16)
{
$('div.' + type + '16').css('background', ledColor)
.css('color', 'white');
valeur -= 16;
}
if(valeur >= 8)
{
$('div.' + type + '8').css('background', ledColor)
.css('color', 'white');
valeur -= 8;
}
if(valeur >= 4)
{
$('div.' + type + '4').css('background', ledColor)
.css('color', 'white');
valeur -= 4;
}
if(valeur >= 2)
{
$('div.' + type + '2').css('background', ledColor)
.css('color', 'white');
valeur -= 2;
}
if(valeur >= 1)
{
$('div.' + type + '1').css('background', ledColor)
.css('color', 'white');
valeur -= 1;
}
}
setInterval(Clock, 1000);
});
return this;
};
})(jQuery); |
Partager