Foros del Web » Programando para Internet » Javascript »

relojito

Estas en el tema de relojito en el foro de Javascript en Foros del Web. tengo este script pero no funciona muy bien, osea al llegar a 60 minutos en vez de sumar una hora y .... poner los minutos ...
  #1 (permalink)  
Antiguo 28/11/2004, 13:00
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
relojito

tengo este script pero no funciona muy bien, osea al llegar a 60 minutos
en vez de sumar una hora y .... poner los minutos en 0... sigue sumando la cantidad de minutos

date = new Date();
var startTime
startTime = date.getTime();
function Temporizador() {
var present, presenttime, elapsed, melapsed , helapsed, selapsed , helapsed, timerID
present = new Date();
presenttime = present.getTime();
elapsed = (presenttime - startTime) / 1000;
helapsed = Math.floor(elapsed / 3600);
melapsed = Math.floor(elapsed / 60);
selapsed = Math.floor(elapsed -(melapsed * 60));
document.getElementById('Temporizador').innerHTML = helapsed + ":" + melapsed + ":" + selapsed// + ":" + elapsed
timerID = setTimeout("Temporizador()",1000);
}


quien me da una manito?

gracias!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 28/11/2004, 13:24
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, dieguicho
No lo cazo del todo, pero me parece que debería poner
Código:
 melapsed = Math.floor(elapsed / 60 - helapsed*60);
Prueba a ver
__________________
Angel :cool:
  #3 (permalink)  
Antiguo 28/11/2004, 16:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

Los objetos Date() tienen unos métodos muy interesantes como getHours(), getMinutes() y getSeconds().

Aunque no me llego a enterar del sentido del script... ¿Por qué restas la hora actual de la hora inicial... ?

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 02/12/2004, 20:07
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
es un script que encontre porahi.. simplemente lo que quiero hacer es.
onload que empieze a contar el tiempo que estoy en una pagina... nada mas que eso
gracias por vuestra ayuda!!!
__________________
On error no hago nada porque deje de fumar...
  #5 (permalink)  
Antiguo 02/12/2004, 21:28
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
ahi no me funciona el script cuando pasa una hora empieza a mostrar la cantidad de segundos acumulados desde el inicio!!!! hay que modificar la linea de selapsed no?
__________________
On error no hago nada porque deje de fumar...
  #6 (permalink)  
Antiguo 03/12/2004, 02:48
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
He hecho uno nuevo que creo que es menos enrevesado. Mira a ver:

Código HTML:
<html>
<head>
	<title>Untitled</title>
<script>
principio=new Date();

function temporizador(){
ahora=new Date();
resultado=new Date(ahora-principio);
hora=resultado.getHours()-1;
minutos=resultado.getMinutes();
segundos=resultado.getSeconds();
tiempo=(hora<10)?"0":""
tiempo+=hora+":";
tiempo+=(minutos<10)?"0":"";
tiempo+=minutos+":";
tiempo+=(segundos<10)?"0":"";
tiempo+=segundos;
document.forms[0][0].value=tiempo;
}


</script>
</head>

<body onload='setInterval("temporizador()",1000);'>
<form><input style="border:solid 1px black;fonr:normal 10px/10px verdana; width:55px;" type="text"></form>



</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 06/12/2004, 07:36
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
hey karlankas. arranca con 20 hs y no le veo el error.

function Temporizador(){
ahora=new Date();
resultado=new Date(ahora-principio);
hora=resultado.getHours()-1;
minutos=resultado.getMinutes();
segundos=resultado.getSeconds();
tiempo=(hora<10)?"0":""
tiempo+=hora+":";
tiempo+=(minutos<10)?"0":"";
tiempo+=minutos+":";
tiempo+=(segundos<10)?"0":"";
tiempo+=segundos;
document.getElementById('Temporizador').innerHTML = tiempo;
timerID = setTimeout("Temporizador()",1000);
}

gratzie!
__________________
On error no hago nada porque deje de fumar...
  #8 (permalink)  
Antiguo 06/12/2004, 13:44
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
A mí me funciona... he hecho un par de cambios en tu... mi... nuestro código:

Código HTML:
<html>
<head>
<script>
principio=new Date();
function Temporizador(){
	ahora=new Date();
	resultado=new Date(ahora-principio);
	hora=resultado.getHours()-1;
	minutos=resultado.getMinutes();
	segundos=resultado.getSeconds();
	tiempo=(hora<10)?"0":""
	tiempo+=hora+":";
	tiempo+=(minutos<10)?"0":"";
	tiempo+=minutos+":";
	tiempo+=(segundos<10)?"0":"";
	tiempo+=segundos;
	document.getElementById('Temporizado').innerHTML = tiempo;
	timerID = setTimeout("Temporizador()",1000); 	
}
</script>
	<title>Untitled</title>
</head>

<body onload="Temporizador()">
<div id="Temporizado"></div>



</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 06/12/2004, 20:13
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
te juro te juro que hice copy + paste
y empieza en 20:00:00
estoy loco?
__________________
On error no hago nada porque deje de fumar...
  #10 (permalink)  
Antiguo 07/12/2004, 03:23
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Igual es que tienes alguna variable definida ya con el nombre de resultado... prueba con esto:

Código HTML:
<html>
<head>
<script>
pKrlK=new Date();
function maquinariaKrlK(){
	aKrlK=new Date();
	rKrlK=new Date(aKrlK-pKrlK);
	hKrlK=rKrlK.getHours()-1;
	mKrlK=rKrlK.getMinutes();
	sKrlK=rKrlK.getSeconds();
	tKrlK=(hKrlK<10)?"0":""
	tKrlK+=hKrlK+":";
	tKrlK+=(mKrlK<10)?"0":"";
	tKrlK+=mKrlK+":";
	tKrlK+=(sKrlK<10)?"0":"";
	tKrlK+=sKrlK;
	document.getElementById('capaKrlK').innerHTML = tKrlK;
	timerID = setTimeout("maquinariaKrlK()",1000); 	
}
</script>
	<title>Untitled</title>
</head>

<body onload="maquinariaKrlK()">
<div id="capaKrlK"></div>



</body>
</html> 
Y si sigue igual dinos dónde mirar tu página para echarle un vistazo.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #11 (permalink)  
Antiguo 07/12/2004, 16:41
 
Fecha de Ingreso: diciembre-2004
Ubicación: En mi ksa
Mensajes: 267
Antigüedad: 19 años, 4 meses
Puntos: 0
Intenta con este codigo, marca la hora de tu computador

<script language="JavaScript">

fCol='000000';//face colour.
sCol='ff0000';//seconds colour.
mCol='000000';//minutes colour.
hCol='000000';//hours colour.


H='....';
H=H.split('');
M='.....';
M=M.split('');
S='......';
S=S.split('');
Ypos=0;
Xpos=0;
Ybase=8;
Xbase=8;
dots=12;
ns=(document.layers)?1:0;
if (ns){
dgts='1 2 3 4 5 6 7 8 9 10 11 12';
dgts=dgts.split(' ')
for (i=0; i < dots; i++){
document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>'+dgts[i]+'</font></center></layer>');
}
for (i=0; i < M.length; i++){
document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"></layer>');
}
for (i=0; i < H.length; i++){
document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"></layer>');
}
for (i=0; i < S.length; i++){
document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"></layer>');
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=1; i < dots+1; i++){
document.write('<div id="ieDigits" style="position:absolute;top:0px;left:0px;width:30 px;height:30px;font-family:Arial,Verdana;font-size:10px;color:'+fCol+';text-align:center;padding-top:10px">'+i+'</div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < M.length; i++){
document.write('<div id=y style="position:absolute;width:2px;height:2px;font-size:2px;background:'+mCol+'"></div>');
}
document.write('</div></div>')
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < H.length; i++){
document.write('<div id=z style="position:absolute;width:2px;height:2px;font-size:2px;background:'+hCol+'"></div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < S.length; i++){
document.write('<div id=x style="position:absolute;width:2px;height:2px;font-size:2px;background:'+sCol+'"></div>');
}
document.write('</div></div>')
}
function clock(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360;
if (ns){
Ypos=window.pageYOffset+window.innerHeight-60;
Xpos=window.pageXOffset+window.innerWidth-80;
}
else{
Ypos=document.body.scrollTop+window.document.body. clientHeight-60;
Xpos=document.body.scrollLeft+window.document.body .clientWidth-60;
}
if (ns){
for (i=0; i < dots; ++i){
document.layers["nsDigits"+i].top=Ypos-5+40*Math.sin(-0.49+dots+i/1.9);
document.layers["nsDigits"+i].left=Xpos-15+40*Math.cos(-0.49+dots+i/1.9);
}
for (i=0; i < S.length; i++){
document.layers["nx"+i].top=Ypos+i*Ybase*Math.sin(sec);
document.layers["nx"+i].left=Xpos+i*Xbase*Math.cos(sec);
}
for (i=0; i < M.length; i++){
document.layers["ny"+i].top=Ypos+i*Ybase*Math.sin(min);
document.layers["ny"+i].left=Xpos+i*Xbase*Math.cos(min);
}
for (i=0; i < H.length; i++){
document.layers["nz"+i].top=Ypos+i*Ybase*Math.sin(hrs);
document.layers["nz"+i].left=Xpos+i*Xbase*Math.cos(hrs);
}
}
else{
for (i=0; i < dots; ++i){
ieDigits[i].style.pixelTop=Ypos-15+40*Math.sin(-0.49+dots+i/1.9);
ieDigits[i].style.pixelLeft=Xpos-14+40*Math.cos(-0.49+dots+i/1.9);
}
for (i=0; i < S.length; i++){
x[i].style.pixelTop =Ypos+i*Ybase*Math.sin(sec);
x[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(sec);
}
for (i=0; i < M.length; i++){
y[i].style.pixelTop =Ypos+i*Ybase*Math.sin(min);
y[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(min);
}
for (i=0; i < H.length; i++){
z[i].style.pixelTop =Ypos+i*Ybase*Math.sin(hrs);
z[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(hrs);
}
}
setTimeout('clock()',50);
}
if (document.layers || document.all) window.onload=clock;
//-->
</script>
__________________
--------------------------------------------------
[::Matthew Beyer::]
MaEsTrOsWeB
Chile
--------------------------------------------------
  #12 (permalink)  
Antiguo 10/12/2004, 09:12
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Karlankas!
me empieza en 20:00:00 ... decime que a vos te empieza en 0 y tiro mi maquina por la ventana
gracias!
__________________
On error no hago nada porque deje de fumar...
  #13 (permalink)  
Antiguo 10/12/2004, 11:13
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Por nada del mundo querría que tiraras tu máquina por la ventana pero... a mi me empieza por cero...

¡Mira este ejemplo (has de permitir las popups en tu nevegador o si no pincha aqui)!

Dime si también te empieza en 20.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #14 (permalink)  
Antiguo 15/12/2004, 21:59
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
jefe! te juro pordios que empieza en 20!!
te capturo la pantalla no te miento..
puede ser algo del browser?
pero la hora del relojito de windows eta perfecta... no entiendo
me supera gracias !!!!
__________________
On error no hago nada porque deje de fumar...
  #15 (permalink)  
Antiguo 16/12/2004, 02:20
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Qué extraño!!

A alguien más le empieza por 20??
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #16 (permalink)  
Antiguo 16/12/2004, 03:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

Probado en explorer (creo que el 6) y Mozilla firefox (también de las últimas versiones) y empieza de 0

Si no importa el uso de Date() y se quiere que empiece en 00:00:00, hice esta chapucilla:

<html>
<head>
<script>
function ajuste(n) {
return (n < 10) ? "0" + n: n.toString();
}

function sumaMS(MS){
return ++MS % 61;
}

function sumaH(S){
return ++S % 25;
}

var H = -1;
var M = -1;
var S = -1;

function relojito(){
var salida = "";
S = sumaMS(S);
if (S == 0){
M = sumaMS(M);
if (M == 0)
H = sumaH(H)
}
var salida = ajuste(H) + ":" + ajuste(M) + ":" + ajuste(S);
document.getElementById("capa").innerHTML = salida;
setTimeout("relojito()", 1000);
}
</script>
<title>Relojito</title>
</head>
<body onload="relojito()">
<div id="capa"></div>
</body>
</html>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #17 (permalink)  
Antiguo 16/12/2004, 04:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 121
Antigüedad: 20 años, 5 meses
Puntos: 0
a mi me empieza por "0"

a mi me empieza por "0".

Si es raro lo del compañero. Si la página es para usarla únicamente el en una intranet no hay problema pero si es para publicar (caso normal) que lo pruebe de forma distribuida a ver como se le ve al resto de personas. ¿no?
__________________
"El saber no me sirve de nada si no es para enseñar"
  #18 (permalink)  
Antiguo 16/12/2004, 14:07
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25


a mi me empieza en 0.

diegucho, danos datos. tu navegador y versión, tu sistema operativo, la hora de tu máquina, ...
  #19 (permalink)  
Antiguo 16/12/2004, 19:30
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
a mi me empieza en 17:00
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:57.