Foros del Web » Programando para Internet » Javascript »

Cambiar imágenes continuamente

Estas en el tema de Cambiar imágenes continuamente en el foro de Javascript en Foros del Web. Tengo este código, pero no resulta por favor, que esta mal. las imágenes no aparecen. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < html > ...
  #1 (permalink)  
Antiguo 16/04/2012, 15:07
 
Fecha de Ingreso: octubre-2011
Mensajes: 153
Antigüedad: 12 años, 6 meses
Puntos: 7
Cambiar imágenes continuamente

Tengo este código, pero no resulta por favor, que esta mal.

las imágenes no aparecen.

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title>Test1</title>
  4. <script language = "javascript">
  5.  
  6. var imagenes = ["imagen1.png", "imagen2.png", "imagen3.png", "imagen4.png"];
  7. var indice = 0;
  8.  
  9. function cambiar() {
  10.     document.getElementById("imagen").src = imagenes[indice++ % imagenes.length];
  11. }
  12.  
  13. setInterval("cambiar()", 1000)
  14.  
  15.  
  16. </script>
  17. </head>
  18. <body>
  19.  
  20. <img src="imagen"  id="imagen/>
  21.  
  22.  
  23. </body>
  24. </html>
__________________
Mi mail: [email protected]
  #2 (permalink)  
Antiguo 16/04/2012, 17:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar imágenes continuamente

lo que no entiendo es la operación con el residuo (modulo) %, realiza una corrida en frío para que verifiques que te devuelve y si coincide con los índices del array
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 16/04/2012, 17:25
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Cambiar imágenes continuamente

Porqué el índice de la imagen que querés mostrar es el resto del valor de indice por la longitud del array?
Eso, dependiendo de la longitud del array y del valor del índice casi siempre te va a dar números flotantes, a lo que el intérprete te lo toma como un entero (creo) ya que imagenes[0.2] no existe o capaz que el interprete sí asepta tu número como flotante, pero ya que imagenes[0.2] no existe es undefined por lo que quedaría <img src="undefined" />.
A mi parecer conque pongas indice++ basta y luego un if para comprobar si el conteo llegó al final y así empezar a contar nuevamente. Claro, eso en caso de que quieras que sea un rollover de imágenes infinito, que es lo que presupongo al ver el setInterval.
Prová así haber que te parece:
Código Javascript:
Ver original
  1. /...
  2. function cambiar() {
  3.     document.getElementById("imagen").src = imagenes[indice++];
  4.     if(indice==imagenes.length)
  5.    {
  6.        indice=0
  7.    }    
  8.  
  9. }
  10. /...
  #4 (permalink)  
Antiguo 16/04/2012, 17:43
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cambiar imágenes continuamente

@pistonasos +1

aunque la idea es que el usuario se diera cuenta
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 16/04/2012, 17:54
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Cambiar imágenes continuamente

en realidad el operador modulo no es el problema, de hecho es una buena manera de hacerlo. el problema está aquí
Cita:
<img src="imagen" id="imagen/>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 16/04/2012, 18:58
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Cambiar imágenes continuamente

Es cierto, es muy ingenioso. Nunca se me había ocurrido.

Y también es cierto que hay que ayudar a que quién hizo la pregunta se dé cuenta solo :
Mal pistonasos
¡Y peor IsaBelM!


Ah!, antes de que se me pase, por favor pistonasos, si no vas a agarrar un mataburros, por lo menos activa el corrector ortográfico. Cuando vi ese "Porqué" casi mastico el teclado. Y no me vengas conque la falta de espacio fue un error de tipeo, porque con el resto no tienes excusa.

Lo del libro de matemáticas lo hablamos otro día.

Saludos
furoya
  #7 (permalink)  
Antiguo 17/04/2012, 04:39
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Cambiar imágenes continuamente

Cita:
Iniciado por furoya Ver Mensaje
¡Y peor IsaBelM!
el caso es que leí el tema y lo dejé pasar. pero cuando se comentó que el problema podía estar en el uso del operador modulo, me vi "obligada" a marcar cual era el problema. de lo contrario hubiese quedado algo floja la respuesta si hubiese sido
Cita:
Iniciado por IsaBelM Ver Mensaje
en realidad el operador modulo no es el problema, de hecho es una buena manera de hacerlo
un saludo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 17/04/2012, 10:40
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Cambiar imágenes continuamente

Pero sí, seguro. Hago estos comentarios porque descubrí que te molesta que te discutan, y soy una porquería de persona. Nada más.

Y lo del operador, lo pensé un poco y tiene toda la lógica. Yo lo hubiese empezado en

Código:
var indice = imagenes.length;
o mejor

Código:
var indice = imagenes.length - 1;
para que arrancara de 0, pero si al hacer su división este módulo se detiene en el cociente entero —cualquier valor hasta el decimal— entonces la variable dividendo puede ser menor que el divisor, porque el resultado siempre va a ser 0 y el producto de este 0 con el divisor va a dar 0, y la operación para hallar el resto será "dividendo - 0", así que el módulo nos va a devolver siempre el mismo valor del dividendo.
Para valores igual o mayores que el divisor, ya el funcionamiento es evidente.

Algo como esto es lo que se ve en la explicación que está más arriba, Tu confusión, pistonasos, estuvo entre cociente y resto. El % devuelve restos ... que nunca pueden tener decimales, como los cocientes.
  #9 (permalink)  
Antiguo 17/04/2012, 13:56
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Cambiar imágenes continuamente

Cita:
Iniciado por furoya Ver Mensaje
Pero sí, seguro. Hago estos comentarios porque descubrí que te molesta que te discutan, y soy una porquería de persona. Nada más.
no, hombre!!. no eres una porquería de persona, sólo un poco difícil de llevar. pero todo es acostumbrarse a ello o ignorarte, ya veré que es lo menos costoso
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 17/04/2012, 22:11
 
Fecha de Ingreso: julio-2009
Ubicación: La Plata
Mensajes: 233
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Cambiar imágenes continuamente

Me van a tener que tener paciencia...Soy medio bobo para darme cuenta si una pregunta la tengo que responder directamente o no. Respecto a lo del libro de matemáticas...Sigo sin entender la ecuación. Pero bueno, será cosa de releer y probar.Ja

Última edición por pistonasos; 17/04/2012 a las 22:22
  #11 (permalink)  
Antiguo 17/04/2012, 22:41
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Cambiar imágenes continuamente

En cuanto pruebes ¡con lápiz y papel! la vas a entender. Sólo ten encuenta que JS para encontrar el resto de una división usa nada más que la parte entera del resultado. Así que de 1 / 4 = 0.25 va a tomar el 0.

El tema del libro de matemática es porque te cofundiste "cociente" (que sí puede tener decimales) con "resto" (que siempre será un entero, o un 0), y basaste tu explicación en ese yerro.
Nos pasa a todos cuando nos atropellamos a postear primero. Y después siempre cae alguien a corregirnos.

Lo que sí, por favor, si vas a releer algo, acuérdate del mataburros ...
Yo todavía hago bromas, pero un día te vas a cruzar a alguno con un ataque de hígado y te va a destrozar.

Etiquetas: html
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 00:47.