Cita:
Iniciado por quimfv Si has entendido bien.
Luego tienes que tener esos divs en el html.
La funcion debe recibir dos paramteros:
numClock el numero del div donde vas a mostrar el reloj
valorNumClock la fecha y/u hora que debe tener en cuenta
Por la sintaxis que empleas debes estar usando jquery o una libreria similar. No nos dices o no se ver como se desencadena el evento que ejecuta la funcion. Falta otra modificacion que es la definicion de los parametros...
El esquema en javascript sin librerias seria
Código Javascript
:
Ver originalfunction reloj(numClock,valorNumClock){
....
}
y en algun evento en el html el llamado a la función con los con los datos
on....="reloj(1,'2012,12,24')" para el reloj 1 y esa fecha.
(No se porque usas comas y no 2012-12-24 ???)
Si los relojes no van ligados a un evento tambien podrias hacer lo siguiente
Código Javascript
:
Ver original<script type="text/javascript">
$(function(){
var arrvalorNumClock=new Array();
arrvalorNumClock[0]=<?php echo $clock0 ?>;
arrvalorNumClock[1]=<?php echo $clock1 ?>;
arrvalorNumClock[2]=<?php echo $clock2 ?>;
....
arrvalorNumClock[14]=<?php echo $clock14 ?>;
for (var numClock=0;numClock<15;numClock++){
var d, h, m, s;
$('div#clock'+numClock).countdown(new Date(arrvalorNumClock[numClock]), function(event) {
var timeFormat = "%d dia(s) %h:%m:%s"
$this = $(this);
switch(event.type) {
case "days":
d = event.value;
break;
case "hours":
h = event.value;
break;
case "minutes":
m = event.value;
break;
case "seconds":
s = event.value;
break;
case "finished":
$this.fadeTo('slow', 0.5);
break;
}
// Assemble time format
if(d > 0) {
timeFormat = timeFormat.replace(/\%d/, d);
timeFormat = timeFormat.replace(/\(s\)/, Number(d) == 1 ? '' : 's');
} else {
timeFormat = timeFormat.replace(/%d dia\(s\)/, '');
}
timeFormat = timeFormat.replace(/\%h/, h);
timeFormat = timeFormat.replace(/\%m/, m);
timeFormat = timeFormat.replace(/\%s/, s);
// Display
$this.html(timeFormat);
//Cierro el bucle for
}
});
});
</script>
Asi crearias directamente 15 relojes
Quizas estoy improvisando demasiado al no tener claro que libreria usas ni como ejecutas la función pero la idea es esa....
Hola quimfv gracias por tu ejemplo
las librerias estoy utilizando son :
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../src/jquery.countdown.js" type="text/javascript" charset="utf-8"></script>
el resultado que daria el ejemplo que pusiste es lo que necesito pero no me funciona
lo que quiero con un solo codigo tener tantos relojes como quiera
pero no me funciono al probarlo
lo que no quiero es tener que hacer esto:
<script type="text/javascript">
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$(function(){var d, h, m, s;$('div#reloj').countdown(new Date(<?php echo $reloj1 ?>),function(event){var timeFormat = "%d dia(s) %h:%m:%s"
$this = $(this);switch(event.type){case "days":d = event.value;break;case "hours":h=event.value;break;case "minutes":
m = event.value;break;case "seconds":s = event.value;break;case "finished":$this.fadeTo('slow', 0.5);break;}
if(d > 0){timeFormat = timeFormat.replace(/\%d/, d);timeFormat = timeFormat.replace(/\(s\)/, Number(d) == 1 ? '' : 's');
}else{timeFormat = timeFormat.replace(/%d dia\(s\)/, '');}timeFormat = timeFormat.replace(/\%h/, h);
timeFormat = timeFormat.replace(/\%m/, m);timeFormat = timeFormat.replace(/\%s/, s);$this.html(timeFormat);});});
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$(function(){var d, h, m, s;$('div#reloj2').countdown(new Date(<?php echo $reloj2 ?>),function(event){var timeFormat ="%d dia(s) %h:%m:%s"
$this = $(this);switch(event.type){case "days":d = event.value;break;case "hours":h=event.value;break;case "minutes":
m = event.value;break;case "seconds":s = event.value;break;case "finished":$this.fadeTo('slow', 0.5);break;}
if(d > 0){timeFormat = timeFormat.replace(/\%d/, d);timeFormat = timeFormat.replace(/\(s\)/, Number(d) == 1 ? '' : 's');
}else{timeFormat = timeFormat.replace(/%d dia\(s\)/, '');}timeFormat = timeFormat.replace(/\%h/, h);
timeFormat = timeFormat.replace(/\%m/, m);timeFormat = timeFormat.replace(/\%s/, s);$this.html(timeFormat);});});
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$(function(){var d, h, m, s;$('div#reloj3').countdown(new Date(<?php echo $reloj3 ?>),function(event){var timeFormat ="%d dia(s) %h:%m:%s"
$this = $(this);switch(event.type){case "days":d = event.value;break;case "hours":h=event.value;break;case "minutes":
m = event.value;break;case "seconds":s = event.value;break;case "finished":$this.fadeTo('slow', 0.5);break;}
if(d > 0){timeFormat = timeFormat.replace(/\%d/, d);timeFormat = timeFormat.replace(/\(s\)/, Number(d) == 1 ? '' : 's');
}else{timeFormat = timeFormat.replace(/%d dia\(s\)/, '');}timeFormat = timeFormat.replace(/\%h/, h);
timeFormat = timeFormat.replace(/\%m/, m);timeFormat = timeFormat.replace(/\%s/, s);$this.html(timeFormat);});});
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
</script>
un bloque de codigo para cada reloj