Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/02/2014, 11:17
Mechabits
 
Fecha de Ingreso: agosto-2013
Mensajes: 103
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: mover a la izquierda un div

Cita:
Iniciado por PHPeros Ver Mensaje
Con el alert podías ya que es totalmente blocking.

El error se debe a que la funcion "desaparece" viene con el bucle, y en sí ya estás haciendo bucle invocando a la función cada 30 segundos.

Elimina el do...while y utiliza clearInterval para limpiar el intervalo cuando supere el 30%
He cogido un ejemplo de [URL="http://www.w3schools.com/jsref/met_win_cleartimeout.asp"]W3schools[/URL] para usar el clearTimeout (no se muy bien la diferencia entre el interval y el Timeout, si tambien pudieras responder a esto te lo agradeceria muchisimo) y no hace nada
Código Javascript:
Ver original
  1. var algo;
  2. function desaparece()
  3. {
  4.     var ocultar=document.getElementById("menuDeslizante");
  5.     var counter=0;
  6.     var parar=false;
  7.     counter++;
  8.     ocultar.style.marginLeft="-"+counter+"%";
  9.     if(counter==30){
  10.         myStopFunction();
  11.         parar=true;
  12.     }
  13. }
  14.  
  15. function timeout()
  16. {
  17.     algo=setInterval("desaparece()", 3000);
  18. }
  19.  
  20. function myStopFunction()
  21. {
  22.     clearInterval(algo);
  23. }
  24.  
  25. window.onload=function ()
  26. {
  27.     timeout();
  28. }
Por cierto, gracias por responder :)

PD: Lo he editado. Lo hace una vez, pero no sigue moviendolo mas de una vez :/ por eso creo que necesito algun bucle, para que siga repitiendo la accion varias veces.

Última edición por Mechabits; 05/02/2014 a las 11:27