Foros del Web » Programando para Internet » Javascript »

problemas con el paso de las variables a las func.

Estas en el tema de problemas con el paso de las variables a las func. en el foro de Javascript en Foros del Web. Hola , he hehco esta funcion y no se q pasa q la 1º vez q se ejecuta funciona bien , pero despues , es ...
  #1 (permalink)  
Antiguo 14/12/2003, 07:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
problemas con el paso de las variables a las func.

Hola , he hehco esta funcion y no se q pasa q la 1º vez q se ejecuta funciona bien , pero despues , es como si perdieran los vaores las variables y me da error , como puedo solucionar esto????

La llamada es algo como-->accion(150,300,5,500,1)

<script>

var indice,posAct,posFinal,velocidad,pixel,auxAct;

function accion (posAct,posFinal,pixel,velocidad,indice)
{
var auxAct = parseInt(eval("capa" + indice + ".style.left"));
alert(posFinal > auxAct);

if (auxAct < posFinal)
{
auxAct += pixel;
eval("capa" + indice + ".style.left" + "=auxAct");
setTimeout("accion(auxAct,posFinal,pixel,velocidad ,indice)",velocidad);
}
else
clearTimeOut();
}


</script>


Saludos.
  #2 (permalink)  
Antiguo 14/12/2003, 11:03
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Hola.

Tienes que crear unas variables dentro de la función para que se te guarden los valores, ya que al realizar el sertTimeOut no toma el valor inicial. (No sé si me entgiendes, porque me explico como un libro abierto, pero con las páginas en blanco)

Te paso el ejemplo:

function accion (posAct,posFinal,pixel,velocidad,indice)
{

a=posAct
b=posFinal
c=pixel
d=velocidad
e=indice


auxAct = parseInt(eval("capa" + e + ".style.left"));
alert(b > auxAct);

if (auxAct < b)
{
auxAct += c;
eval("capa" + e + ".style.left" + "=auxAct");
setTimeout("accion(a,b,c,d,e)",d)
}
else
clearTimeOut();
}


Pruebalo así y me comentas.
  #3 (permalink)  
Antiguo 14/12/2003, 17:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 11
Antigüedad: 20 años, 6 meses
Puntos: 0
Ok , gracias voy a probarlo y ya te comentare ;)


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.