Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/04/2015, 13:03
luisceb
 
Fecha de Ingreso: abril-2015
Mensajes: 24
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: Imágenes que cambien cada segundo

Cita:
Iniciado por programaWeb Ver Mensaje
Muchas gracias a los 3 por vuestras respuestas ;)

Os comento, voy a 'simplificar' un poco la parte de código que me está dando la lata para facilitar el problema.

Yo tengo esto:

Código:
<html>
<head>
<script language="JavaScript">
var variable=1;
function cambio() {
   document.write(variable);
   variable=variable+1;
   var t = setInterval(cambio,1000);
}
</script>
</head>
<body onload="cambio()">
</body>
</html>
Básicamente, lo que quiero (el esqueleto de mi duda, no lo voy a ampliar más) es que me muestre una especie de contador y que cada número cambie por el siguiente cada segundo: que primero aparezca el 1, al segundo siguente el 2, después el 3,...
De esta forma, sólo me escribe el 1 y hace la asignación del 2 a la variable pero no hace el setInterval para que se repita el proceso cada segundo. Además, si saco el setInterval de la función, ya no me lo coge tampoco.

Quiero hacerlo así (siempre que se pueda, claro) porque lo tengo orientado para poder hacer una aplicación aún mayor (olvidémonos de las imágenes y de comandos relacionados con minutos, segundos, etc.).

Perdonad las molestias y muchas gracias de nuevo por vuestra colaboración ;)
La línea var t = setInterval(cambio,1000); tiene un error de sintaxis

La función "cambio" debe terminar con paréntesis en modo cambio(), y además estar encerrada entre comillas, de esta forma

var t = setInterval("cambio()",1000);

De otra forma no esperes que te funcione. Es más, seguramente la página te dará error en dicha línea.

El document.write(variable) no rula ya que con esta línea deshaces toda la página actual, y se pierde el valor de la variable. En su lugar puedes colocar un innerText en la forma siguiente.

Código Javascript:
Ver original
  1. variable=1;
  2. function cambio(){
  3. contador.innerHTML=variable;
  4.  
  5.    variable=variable+1;
  6. setInterval('cambio()',1000);
  7. }

Claro que para que sea efectivo deberás colocar el correspondiente identificador en la una etiqueta tipo span

Código Javascript:
Ver original
  1. [HIGHLIGHT="HTML"]<p><span id=contador> </span></p>
[/HIGHLIGHT]

La página completa sería:

Código HTML:
Ver original
  1.  
  2. <meta http-equiv="Content-Language" content="es">
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  4. <title>Contador</title>
  5. </head>
  6. <script language="JavaScript">
  7. variable=1;
  8. function cambio(){
  9. texto.innerHTML=variable;
  10.  
  11.    variable=variable+1;
  12. setInterval('cambio()',1000);
  13. }
  14.  
  15. </head>
  16. <body onload="cambio()">
  17.  
  18. <p><span id=texto> </span></p>
  19.  
  20. </body>
  21.  
  22. </html>

Si la cargas en tu explorador observarás que el contador funciona.

Un saludo.