Hola Marc,

Puedes aprovecharte del objeto de activación para tener una referencia al
contexto que necesitas. No hay otra manera

function obj(){
  this.nombre="objeto";
}
obj.prototype.alertaMaxima=function(){
        var scope = this;
        this.intervalo=setInterval(function(){scope.canta()},1000);
}
obj.prototype.canta=function(){
  alert(this.nombre);
}

Úsalo con moderación ya que al crear una función interna las variables
declaradas dentro de la externa se vuelven permanentes y no se eliminan de
la memoria.

Un saludo,

P.D: <script type="text/css"> xDDDD


Joseba Alonso
www.5dms.com
www.sidedev.net

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre
de Marc el XrV
Enviado el: lunes, 31 de enero de 2005 11:49
Para: Ovillo@ovillo.org
Asunto: [Ovillo] [Javascript] setInterval Local

Hola, 

a ver si alguien me ilumina con algúna idea sobre como hacer que un
setInterval o un setTimeout sea local el lugar de global, para por ejemplo,
ejecutarlo encapsulado en un objeto:

<script type="text/css">
function obj(){
  this.nombre="objeto";
}
obj.prototype.alertaMaxima=function(){
  this.intervalo=setInterval(this.canta,1000);
}
obj.prototype.canta=function(){
  alert(this.nombre);
}
</script>

Pues eso, que this.nombre sería igual a window.nombre... y eso exactamente
no
me interesa...
a ver si alguien tiene una solución a eso :).

gracias!
atte, Marc Palau

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección:
http://ovillo.org/mailman/listinfo/ovillo_ovillo.org



_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo_ovillo.org

Responder a