Cada vez mas, (en la herramienta online que estoy desarrollando), al testeala, veo que muchos métodos de los protoripos no funcionan, y solo los consiguo arreglar si no uso tantas propiedades del prototipo, es decir:
En algunos métodos de prototipo, me ha pasado (mas de dos y tres veces) que al intentar trabajar con muchas propiedades del propio prototipo (lo que seria la clase), no funciona, o bien no logra obtenerlas por referencia (que es como trabaja JS si tengo entendido bien) o tengo un desbordamiento de pila (demasiada información para una función, en este caso método)
Es posible? , la cantidad de propiedades no es muy alta, hablo de quizas 4 o 5.
Ejemplo en codigo de un ultimo caso :
Código Javascript:
Ver original
function ManagementFrames (arrayID,arrayOut,arrayOn,arrayOutFinal){ this.ID = arrayID; // Primera cadena array, contiene los string con las id de CSS los divs this.Out = arrayOut; // Segunda cadena array, contiene los string con las id de CSS los divs que hacen que estos tengan una animacion de "irse" this.On = arrayOn; // Tercera cadena array, contiene los string con las id de CSS los divs que hacen que estos tengan una animacion de "entrar" this.OutF = arrayOutFinal; // Primera cadena array, contiene los string con las id de CSS los divs hacen que estos desaparezcan (propiedad display:none) this.ActualID = 2; // variable que contiene el indice con el que se trabaja, puesto que todas las cadenas siguen el mismo orden this.ActiveE = function ActiveE(a){ n = a; // variable que es pasada al llamar la funcion, indica que div del indice entra document.getElementById(this.ID[n]).className = (this.On[n]); document.getElementById(this.ID[this.ActualID]).className = (this.out[this.ActualID]); Desactive=setTimeout(function(){document.getElementById(this.ID[this.ActualID]).className = (OutF[0]);},500); } } var ObjectManagementFrames = new ManagementFrames (['atmosferaframelogin','atmosferatransicionador02','atmosferatransicionador','atmosferatransicionador04'],['atmosferaframeloginOut','atmosferatransicionador02Out','atmosferatransicionadorOut','atmosferatransicionador04Out'],['atmosferaframeloginOn','atmosferatransicionador02On','atmosferatransicionadorOn','atmosferatransicionador04On'],['atmosferaOutF']);
En concreto, la parte que se con seguridad que falla es la parte donde setTimeOut inicia una propia función, y por algún motivo no funciona de los que explico arriba (supongo).