Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2012, 11:48
Avatar de mike28gt
mike28gt
 
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 14
Respuesta: codigo misterioso

Hola, me llamo mucho la atención el comportamiento de tu código, por lo que quise ver que ocurría, honestamente no supe cual era el problema en sí, pero me llamo la atención el casteo que se estaba realizando con el parseInt, además de eso refactorice un poco tu código y cambie la lógica del despliegue de los números, y así funciono.

Código:
<html>
<head>
<style type="text/css">
@font-face {font-family:"digiface";src:url(digiface.ttf);format("tr uetype");}
.caja1{font-size:80px;font-family:"digiface";color:white;background-color:black;}
</style>
<script language="JavaScript">
	var enmarcha=false;
	var centesimas = 0;
	var segundos = 0;
	var minutos = 0;

	var frecuencia

	function marcha()
	{
		if (enmarcha==false)
		{
			enmarcha=true;
			frecuencia=setInterval("contarparar()",10);
		}
		else
		{
			enmarcha=false;
			clearInterval(frecuencia)
		}
	}
	
	function agregarCero(val)
	{
		if (val < 10)
			val = "0" + val.toString();
			
		return val;
	}
	
	function contarparar()
	{
		if (enmarcha==true)
		{
			centesimas++;
			
			if (centesimas == 100)
			{
				centesimas=0;
				segundos++;
			}

			if (segundos == 60)
			{
				segundos = 0;
				minutos++;
			}

			if (minutos == 60)
			{
				enmarcha=false;
				clearInterval(frecuencia)
				
				alert("Este cronómetro solo mide el tiempo hasta una hora.");
				
				centesimas = 0;
				segundos = 0;
				minutos = 0;	
			}

			document.cronometro.pantalla.value=(agregarCero(minutos) + ":" + 
												agregarCero(segundos) + ":" + 
												agregarCero(centesimas));
		}
	}

	function recomenzar()
	{
		centesimas=0;
		segundos=0;
		minutos=0;
		document.cronometro.pantalla.value="00:00:00";
	}
	
	/*function moverse()
	{
		if enmarcha==true
		{
			document.cronometro.pantalla.style.top=(Math.rando m()*500);
			document.cronometro.pantalla.style.left=(Math.rand om()*500);
		}
	}*/

</script>
</head>
<body bgcolor=#99ff99>
<center>
<form name="cronometro" style="width:800px; height:500px; background-color:white;">
<center>
<h2>Mi super-Cronómetro de la muerte mortal</h2>
<input name="pantalla" class="caja1" value="00:00:00" size=5>
<br>
<!-- <input name="startstop" type=button value="Start / Stop" onClick="marcha(); contarparar();" onMouseOver="/*moverse();*/"> -->
<input name="startstop" type=button value="Start / Stop" onClick="marcha();">
<input name="a_cero" type=button value="Comenzar" onClick="recomenzar();">
</center>
</form>
</center>
</body>
</html>