Foros del Web » Programando para Internet » Javascript »

Como cambiar el src de una imagen dinamicamente

Estas en el tema de Como cambiar el src de una imagen dinamicamente en el foro de Javascript en Foros del Web. necesito cambiar el src de una imagen dinamicamente con javascript( set interval) en ie 7 que puedo hacer?...
  #1 (permalink)  
Antiguo 09/10/2008, 12:19
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Como cambiar el src de una imagen dinamicamente

necesito cambiar el src de una imagen dinamicamente con javascript( set interval) en ie 7 que puedo hacer?

Última edición por pipezapata; 09/10/2008 a las 13:43
  #2 (permalink)  
Antiguo 10/10/2008, 06:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

Pues igual que en cualquier otro navegador: Le ponés un ID a la etiqueta de la imagen

<img id="hola" src="" />

Y luego lo cambiás así

imagen = document.getElementById("hola");
imagen.src = "nueva imagen";


Este tema se ha tratado varias veces en el foro, te recomiendo buscar los temas anteriores.


Saludos.
  #3 (permalink)  
Antiguo 12/10/2008, 08:47
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

gracias alvlin puse en prectica tu respuesta y me funciona perfecto en ie6 pero en ie7 no funciona. lo que trato de hacer es poner un setinterval que cada 1000 mls me cambie el src dinamicamente (siempre va a ser diferente cada ves que cambia).

muchas garcias por tu ayuda!!!!!
pero que puedo hacer con ie7???
  #4 (permalink)  
Antiguo 12/10/2008, 13:58
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

¿lo que no funciona es el fragmento de código que puse antes? ¿o es el resto del código que incluye al setInterval?

Pegá el código que estás usando, a ver si tiene algún problema.


Saludos.
  #5 (permalink)  
Antiguo 13/10/2008, 12:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

este codigo funciona perfecto en ie6 pero en ie7 solo funciona una ves aunque el setinterval se ejecuta normalmente no me cambia el src de la imagen

te agrdezco muchisimo tu ayuda y recomendaciones pues la verdad soy novato con javascript



aca te coloco el codigo:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Página sin título</title>

</head>






<script type="text/javascript">




function start(){

foto1 = new Image();
foto2 = new Image();
foto3 = new Image();


url = "http://xxx";
foto1.src = url + "?num="+num();
document.images("Img1").src = foto1.src;

url2 = "http://xxx";
foto2.src= url2 +"?num1="+num();
document.images("imagen").src= foto2.src;

url3 = "http://xxx";
foto3.src= url3 +"?num1="+num();
document.images("Img2").src= foto3.src;


}


function num() {
var aleatorio
return aleatorio = Math.round(Math.random()*1000);

}





</script>


<body onload= "setInterval('start()',2000);" >


<form id="form1" runat="server">

<div>

<img id="imagen" alt = "2" src="" style="z-index: 106; left: 664px; width: 280px; position: absolute; top: 64px;
height: 216px"/>

<img id="Img1" src=""style="z-index: 107; left: 336px; width: 280px; position: absolute; top: 64px;
height: 216px" alt = "1" />

<img src="" id="Img2" style="z-index: 108; left: 0px; width: 280px; position: absolute; top: 64px;
height: 216px" />
</div>
</form>
</body>
</html>
  #6 (permalink)  
Antiguo 13/10/2008, 13:21
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

Pues estás haciendo algo muy poco eficiente, usás variables globales, usás características que pueden generar problemas (document.images). Incluso tenés esta línea
return aleatorio = Math.round(Math.random()*1000);

que no estoy seguro si funciona correctamente.

Te recomiendo usar este código
Código javascript:
Ver original
  1. var imagenes;
  2.  
  3. function cambiar() {
  4.  
  5.     var i;
  6.     for (i = 0; i < imagenes.length; i++) {
  7.         var url = "http://xxx?num=" + Math.round(Math.random()*1000);
  8.         imagenes[i].src = url;
  9.     }
  10.  
  11. }
  12.  
  13.  
  14. function inicializar() {
  15.     imagenes = [ document.getElementById("imagen"), document.getElementById("Img1"), document.getElementById("Img2") ];
  16.  
  17.     setInterval(cambiar, 2000);
  18. }
  19.  
  20. window.onload = inicializar;


Saludos

Última edición por AlvaroG; 13/10/2008 a las 17:00
  #7 (permalink)  
Antiguo 13/10/2008, 14:26
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

Otra vez gracias por tu ayuda es muy valiosa!!!


probe el codigo que me enviaste pero asi no me conecta con el servidor de imagenes y por ende no las carga....

lo unicio diferente que hice fue llamar la funcion inicializar en el onload del body..
  #8 (permalink)  
Antiguo 13/10/2008, 17:00
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

Fue un pequeño error de sintaxis de mi parte, en el código anterior la línea 8 debería ser
Código javascript:
Ver original
  1. imagenes[i].src = url;
en vez de
Código javascript:
Ver original
  1. imagenes.src = url;

Ya lo cambié en el mensaje anterior.
  #9 (permalink)  
Antiguo 14/10/2008, 12:18
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

hola gracias por tu ayuda me podrias aclara qu es imagen.length a que te refieres con eso???

y ademas el src de cada img es diferente para cada uno, no es el mismo(la url de cada uno es diferente)

como podria cambiar el codigo para que me funcione cada img con su propio src???


gracias!!!!!!!!!

Última edición por pipezapata; 14/10/2008 a las 12:29
  #10 (permalink)  
Antiguo 14/10/2008, 12:27
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

la variable imagenes es inicializada en la línea 15, como un vector
Código javascript:
Ver original
  1. imagenes = [ document.getElementById("imagen"), document.getElementById("Img1"), document.getElementById("Img2") ];

imagenes.length simplemente contiene la cantidad de elementos del vector. (bueno, en realidad hay algunos detalles que considerar, pero así funciona)


Saludos.
  #11 (permalink)  
Antiguo 14/10/2008, 12:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

yademas el src de cada img es diferente para cada uno, no es el mismo(la url de cada uno es diferente)

como podria cambiar el codigo para que me funcione cada img con su propio src???
  #12 (permalink)  
Antiguo 14/10/2008, 12:42
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como cambiar el src de una imagen dinamicamente

Si ese es el caso, no utilices el for. Asigná a cada imagen la ruta que le corresponde:

Código javascript:
Ver original
  1. function cambiar() {
  2.     imagenes[0].src = "http://undominio/?num=" + Math.round(Math.random()*1000);
  3.     imagenes[1].src = "http://otrodominio/?num=" + Math.round(Math.random()*1000);
  4.     imagenes[2].src = "http://otromas/?num=" + Math.round(Math.random()*1000);
  5. }
  #13 (permalink)  
Antiguo 14/10/2008, 13:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como cambiar el src de una imagen dinamicamente

ya lo intente yo utilizo ie 7 lo que pasa es que la primera vez que ejecuta el set interval me muetra las imagenes del servidor

el servidor cambia de imagen que va a enviar cada 500 mls ahora el problema es que cada vez que se ejecuta el set intrval se queda las imagenes estaticas

cuando ejecuto 2 instancias al tiempo del ie7 la aplicacion corre sin problemas y las imagenes se refrescan pero cuando hay solo una las imagenes quedan estaticas

que puede ser???????????????

Última edición por pipezapata; 15/10/2008 a las 13:13
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 16:49.