Tengo una clase javascript simple.Llamar a un método prototipo de clase por un evento setInterval
Un método de esta clase configura un temporizador utilizando la función setInterval. El método que deseo invocar cada vez que se desencadena el evento se define dentro de la misma clase.
La pregunta es, ¿cómo puedo pasar este método como un parámetro para la función setInterval?
Un intento fue setInterval ('this.showLoading(), 100). Pero no funciona. Este método tiene acceso a las propiedades de clase, por lo que necesito la referencia 'this'.
Este es el código de ejemplo:
function LoadingPicture(Id)
{
this.imgArray = null;
this.currentImg = 0;
this.elementId = Id;
this.loadingTimer = null;
}
LoadingPicture.prototype.showLoading = function()
{
if(this.currentImg == imgArray.length)
currentImg = 0;
document.getElementById(this.elementId).src = imgArray[this.currentImg++].src;
}
LoadingPicture.prototype.StartLoading = function()
{
document.getElementById(this.elementId).style.visibility = "visible";
loadingTimer = setInterval("showLoading()", 100);
}
El último enfoque es el de aplicación más general. +1 – xtofl
Sí, depende ... Creo que el primero funciona en AS3, pero no recuerdo si lo hace entre navegadores en JS. Este último suele ser el más seguro. –
Funcionó como un amuleto – Andres