Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problemas con un For

Estas en el tema de Problemas con un For en el foro de Javascript en Foros del Web. Hola buenas, tal vez este preguntando una tonteria pero me tiene bloqueado: for (i=0; i<num_errores; i++){ var err1 = new Image(); err1.src = miArray[i].src; context.drawImage(err1, ...
  #1 (permalink)  
Antiguo 10/03/2013, 09:52
 
Fecha de Ingreso: julio-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Problemas con un For

Hola buenas, tal vez este preguntando una tonteria pero me tiene bloqueado:

for (i=0; i<num_errores; i++){
var err1 = new Image();
err1.src = miArray[i].src;
context.drawImage(err1, miArray[i].ubic_x + dif_img, miArray[i].ubic_y);
}

Estoy haciendo esto para no tenerlo que repetir 5 veces (num_errores=5) y lo que quiero es saber como puedo hacer que var err1 y err1.src sea en funcion de la i+1 de forma que tenga var err1, la primera vez, luego var err2, etc. y asi las 5 veces, lo que me hace es pintar unas imagenes con html5 cargadas en un array.
  #2 (permalink)  
Antiguo 10/03/2013, 13:39
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Problemas con un For

Supongo que tu miArray son las imágenes
Aquí estás comentiendo un error

err1.src = miArray[i].src;
la imagen es miArray[i], el segundo src te sobra
err1.src = miArray[i];

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>new Image() js</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. //<![CDATA[
  8. var miArray = ['https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/forrest-gump-250x350.jpg','https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/piratas-del-caribe-250x350.jpg','https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/lo-que-el-viento-250x350.jpg','https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/gladiador-250x350.jpg','https://googledrive.com/host/0B5cDQ-G3aVMQMkdaelNsdTZ6TDQ/isabelM/img/casablanca-250x350.jpg'];
  9. var num_errores = 5;
  10. window.onload = function(){
  11. var contenedor = document.getElementById('muestras');
  12. for (i=0; i<num_errores; i++){
  13. var err1 = new Image();
  14. err1.src = miArray[i];
  15. // context.drawImage(err1, miArray[i].ubic_x + dif_img, miArray[i].ubic_y);
  16. contenedor.appendChild(err1);
  17.  
  18. }
  19. }
  20. //]]>
  21. </head>
  22. <div id="muestras">
  23. </div>
  24. </body>
  25. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 10/03/2013, 15:28
 
Fecha de Ingreso: julio-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problemas con un For

gracias por tu respuesta, MiArray contine una clase con mas cosas, pero esto me funciona perfectamente si hago esto 5 veces en vez de hacerlo con un for, es decir

error01 = new C_Error("Error01", "f01-e01.png", 32, 27, 230, 255, "false");
miArray[0] = error01;


Lo que yo hago 5 veces es:

var err1 = new Image();
err1.src = miArray[i].src;
context.drawImage(err1, miArray[i].ubic_x + dif_img, miArray[i].ubic_y);

var err2 = new Image();
err2.src = miArray[i].src;
context.drawImage(err2, miArray[i].ubic_x + dif_img, miArray[i].ubic_y);

etc, no tengas en cuenta miArray (seria: error01, error02, etc) ya que no cuadra entones, yo lo que quiero es es que var err1 fuese var err i+1, de forma que ya tendria al recorrer el for mis 5 var err: err1, err2, err3, err4 y err5 lo que no se es como declaro un var err y con la i para que incremente esta i con el for, si se pudira hacer var err + (i+1) ya tendria el problema resuelto.

for (i=0; i<num_errores; i++){
var err1 = new Image();
err1.src = miArray[i].src;
context.drawImage(err1, miArray[i].ubic_x + dif_img, miArray[i].ubic_y);
}

No se si me he explicado bien o no, pero esto debe pasar muchas veces, pongamos un ejemplo que queremos crear x variables en funcion de un for y asignarle un valor a esas variables, por ejemplo:
Nota1 = 1
Nota2 = 2
etc.

Siendo 1, 2, etc. la i. (tanto en Nota1 con en = 1, es decir Notai=i

Última edición por sgrd; 10/03/2013 a las 15:43
  #4 (permalink)  
Antiguo 11/03/2013, 01:22
 
Fecha de Ingreso: julio-2012
Mensajes: 7
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Problemas con un For

Solucionado, me creo un array y ya puedo hacerlo, era bastante sencillo pero no pense en los arrays con o bien que vienen.

var A_error = new Array(num_errores);

for (i=0; i<num_errores; i++){
A_error[i] = new Image();
A_error[i].src = miArray[i].src;
context.drawImage(A_error[i], miArray[i].ubic_x + dif_img, miArray[i].ubic_y);
}

Etiquetas: funcion, 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 08:21.