Cita:
Iniciado por PHPeros
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 originalvar algo;
function desaparece()
{
var ocultar=document.getElementById("menuDeslizante");
var counter=0;
var parar=false;
counter++;
ocultar.style.marginLeft="-"+counter+"%";
if(counter==30){
myStopFunction();
parar=true;
}
}
function timeout()
{
algo=setInterval("desaparece()", 3000);
}
function myStopFunction()
{
clearInterval(algo);
}
window.onload=function ()
{
timeout();
}
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.