Llv todo el dia y no comprendo pq no funciona esto , la idea es una clase para poder mover las capas , en un prinncipio solo he puesto una fucnion par amover una capa hacia la derecha a una velocidad variable.El codigo es:
Me da error en:
setTimeout (this.nombreObj+'.moverDerechaAux('posIzqAct','pix elMover','pixel','velocidad')',velocidad);--> no puedo hacer que el objeto nombreObj llame a esa funcion????
Y en la etiqueta body me dice que se esperaba un objeto...
Si alguien puede ayudarme muchas gracias.
Saludos
<script>
// nombreObj = nombre de la instancia del objeto a crear
// nombreCapa = nombre de la capa a inicializar
function misCapas(nombreCapa,nombreObj)
{
this.name = nombreCapa;
this.nombreObj = nombreObj;
eval("this.ancho = " + "document.all." + nombreCapa + ".style.width;");
eval("this.alto = " + "document.all." + nombreCapa + ".style.height;");
eval("this.izq = " + "document.all." + nombreCapa + ".style.left;");
eval("this.top = " + "document.all." + nombreCapa + ".style.top;");
//eval("this.ancho = " + this.doc + this.name + this.stl + this.widz);
//metodos
this.visible = visible;
this.ocultar = ocultar;
this.moverDerecha = moverDerecha;
this.moverDerechaAux = moverDerechaAux;
}
function visible()
{
eval("document.all." + nombreCapa + ".style.visibility" + "=visible");
}
function ocultar()
{
eval("document.all." + nombreCapa + ".style.visibility" + "=hidden");
}
//mover la capa hacia la derecha de tantos pixel en tantos pixel a una velocidad..
function moverDerechaAux (posIzqAct,pixelMover,pixel,velocidad)
{
if (posIzqAct < pixelMover)
{
posIzqAct += pixel;
eval("document.all." + nombreCapa + ".style.left" + "= posIzqAct");
setTimeout (nombreObj+'.moverDerechaAux('posIzqAct','pixelMov er','pixel','velocidad')',velocidad);
}
else
{
clearTimeout();
}
}
function moverDerecha (pixel,velocidad)
{
var pixelMover = this.izq + this.ancho;
var posIzqAct = this.izq;
this.nombreObj.moverDerechaAux(posIzqAct,pixelMove r,pixel,velocidad);
}
function iniciar()
{
obj1 = new misCapas("capa1","obj1");
}
function accion(indice)
{
eval("obj"+indice+".moverDerecha(1,100)");
}
</script>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=iniciar() marginwidth="0"
marginheight="0">
<div id="capa1" style=" LEFT: 300px; VISIBILITY: visible; WIDTH: 225px; POSITION: absolute; TOP: 181px; HEIGHT: 119px; background-color: Lime;">><p>hola colega <br> como te va???</p></div></div>
<input type="Button" value="boton1" onclick="accion(1)">
</body>