Problema con 'clases' en Javascript
Publicado por Pablete (4 intervenciones) el 04/03/2010 09:44:35
Hola, qué tal?
Pretendo algo tan simple como que en la caja de texto que hay en mi página vaya cambiando cada segundo su valor (n++).
Es decir, en el segundo 1, aparecerá 1, en el segundo 2, aparecerá 2…así hasta 10. Me da fallo la línea del setInterval…no llega a entrar en el método 'contar'. No sé porqué está mal.
Como veis está hecho como si fueran “clases” (de otra forma sí que me sale, pero quiero hacerlo de esta forma, con “clases”).
Dejo el código... Graciassss
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Prueba</title>
<script language="JavaScript">
function objeto()
{
this.n=0;
this.id=0;
this.prueba=prueba;
this.contar=contar;
//---------------------------------------------------------------------------------
function prueba()
{
//Aquí me da el fallo. No consigo ejecutar el método 'contar' desde dentro
//del setInterval:
this.id=setInterval("contar()",1000);
}
//---------------------------------------------------------------------------------
function contar()
{
//Pongo el alert para ver si entra en el método.
alert('Pasa por aquí');
this.n++;
document.getElementById('num').value=this.n;
if (this.n==10)
clearInterval(this.id);
}
//---------------------------------------------------------------------------------
}
</script>
</head>
<body>
<input type="text" size="20" id="num" value="1">
<script language="JavaScript">
//---------------------------------------------------------------------------------
var obj1=new objeto();
obj1.prueba();
//---------------------------------------------------------------------------------
</script>
</body>
</html>
Pretendo algo tan simple como que en la caja de texto que hay en mi página vaya cambiando cada segundo su valor (n++).
Es decir, en el segundo 1, aparecerá 1, en el segundo 2, aparecerá 2…así hasta 10. Me da fallo la línea del setInterval…no llega a entrar en el método 'contar'. No sé porqué está mal.
Como veis está hecho como si fueran “clases” (de otra forma sí que me sale, pero quiero hacerlo de esta forma, con “clases”).
Dejo el código... Graciassss
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Prueba</title>
<script language="JavaScript">
function objeto()
{
this.n=0;
this.id=0;
this.prueba=prueba;
this.contar=contar;
//---------------------------------------------------------------------------------
function prueba()
{
//Aquí me da el fallo. No consigo ejecutar el método 'contar' desde dentro
//del setInterval:
this.id=setInterval("contar()",1000);
}
//---------------------------------------------------------------------------------
function contar()
{
//Pongo el alert para ver si entra en el método.
alert('Pasa por aquí');
this.n++;
document.getElementById('num').value=this.n;
if (this.n==10)
clearInterval(this.id);
}
//---------------------------------------------------------------------------------
}
</script>
</head>
<body>
<input type="text" size="20" id="num" value="1">
<script language="JavaScript">
//---------------------------------------------------------------------------------
var obj1=new objeto();
obj1.prueba();
//---------------------------------------------------------------------------------
</script>
</body>
</html>
Valora esta pregunta


0