simpleCounter (beta)
Nuevo plugin para crear un contador basado en POO
HTML
<div id="demo"></div>
JavaScript
/**
* Created by Porfirio on 14/08/14.
*/
/**
* Options:
* mode: downtime - uptime
* format: dateMin, dateHour, dateSeconds
* simpleMin, simpleHour, simpleSeconds
*/
(function($){
var SimpleCounter = function(element, options){
var domElement = $(element);
var self = this;
var currentTime = null;
var timerAction = null;
var defaults = {
mode : "regresive",
format : "dateMin",
initialTime : 10000,
finishTime : 0,
refreshSpeed : 1000,
initialText : " - - ",
//CallBacks
onAfterTimesUp : function(){},
onStartCounter : function(){},
onStopCounter : function(){},
onResetCounter : function(){}
}
var settings = $.extend(defaults, options || {});
//CONSTRUCTOR
self.init = function(){
currentTime = settings.initialTime;
domElement.text(settings.initialText);
}
//PRIVATE METHODS
var timeConverter = function(stringTime){
function addZ(n) {
return (n<10? '0':'') + n;
}
var ms = stringTime % 1000;
stringTime = (stringTime - ms) / 1000;
var secs = stringTime % 60;
stringTime = (stringTime - secs) / 60;
var mins = stringTime % 60;
var hrs = (stringTime - mins) / 60;
switch(settings.format){
case "dateMin":
return addZ(mins) + ':' + addZ(secs);
break;
case "dateHour":
return addZ(hrs) + ':' + addZ(mins) + ':' + addZ(secs);
break;
case "dateSec":
return addZ(secs) + '.' + ms;
break;
case "simpleMin":
return addZ(mins);
break;
case "simpleHour":
...