Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/02/2013, 21:04
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Retardar codigo javascript

Cita:
Iniciado por dvd181191 Ver Mensaje
Buenas, espero que alguien pueda ayudarme

estoy intentando aprender algo de javascript y me ha surgido una duda que no he sido capaz de solucionar.

De javascript se poco por no decir nada, pero es casi igual que php por lo que me desenvuelvo bastante bien.

Bueno la idea es hacer un bucle que me mueva una capa 50 pixeles a la derecha. He probado con setInterval () y setTimeout () y no se porque no siguen el escript, es como que van a su pedo :)

Código:
<div id="capa"></div>

<script text="text/javascript">

	a = 10;
	
	var Capa = document.getElementById ("capa");
	
	for (a; a > 0; a--) {
		
		window.setTimeout (function () { Capa.innerHTML = a; },1000);
		
	}
	
</script>
este es un código muy basico con el que estoy enredando y la idea es generar un contador regresivo y que cada segundo me muestre en la capa el valor por el que va.

Con timeInterval () no es lo que busco.

Y si es posible, este codigo devera repetirse y cada vez que se repita retrasar todo el script que esta por encima.

No se como explicarlo, pero si alguien me pudiera ayudar se lo agradeceria
Bueno, lo de un contador regresivo más o menos se entiende, lo otro, para nada

Para clarificar (aunque ya es más cosa de que te pongas a leer los manuales)
setTimeout retrasa la ejecución n milisegundos
setInterval repite la ejecución cada n milisegundos
si llamás setTiemout dentro de la misma función, llamando a la misma función, también la repite


Ejemplos


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>timers</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. var i = 10,i2=10,i3=10,t;
  10. function cuenta_reg(){
  11. var capa = document.getElementById('cuenta');
  12. t= setTimeout(function() {
  13.            capa.innerHTML = i;
  14.            i--;
  15.            cuenta_reg(i);
  16.          if(i < 0){
  17.            clearTimeout(t);
  18.            }
  19.        }, 1000);
  20. }
  21.  
  22. function cuenta_reg2(){
  23.     var capa2 = document.getElementById('cuenta2');
  24.     capa2.innerHTML = i2;
  25.          if(i2 == 0){
  26.            clearInterval(e);
  27.            }
  28.            i2--;
  29. }
  30.  
  31. function cuenta_reg3(){
  32.     var capa3 = document.getElementById('cuenta3');
  33.     capa3.innerHTML = i3;
  34.            i3--;
  35.          if(i3 < 0){
  36.             i3 = 10;
  37.            }
  38. }
  39.  
  40. window.onload= function(){
  41. cuenta_reg();
  42. var e = setInterval('cuenta_reg2()',1000);
  43. var f = setInterval('cuenta_reg3()',1000);;
  44. }
  45. //]]>
  46. </head>
  47. <div id="cuenta"></div>
  48. <div id="cuenta2"></div>
  49. <div id="cuenta3"></div>
  50. </body>
  51. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 23/02/2013 a las 09:26