Foros del Web » Programando para Internet » Javascript »

Argumentos invalidos

Estas en el tema de Argumentos invalidos en el foro de Javascript en Foros del Web. Hola cree un codigo de prueba para aumentar una imagen poco a poco pero al probar el codigo me sale el error de argumentos no ...
  #1 (permalink)  
Antiguo 06/08/2012, 10:52
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 9 años, 8 meses
Puntos: 29
Exclamación Argumentos invalidos

Hola cree un codigo de prueba para aumentar una imagen poco a poco pero al probar el codigo me sale el error de argumentos no validos ???
Alguien me podria ayudar a solucionarlo pls

Código Javascript:
Ver original
  1. <script language="javascript">
  2. function aumentar(ancho,alto) {
  3. document.images[0].width = ancho;
  4. document.images[0].height = alto;
  5. }
  6. function images() {
  7. var indice;
  8. var indice2 = 1;
  9. for(indice = 1; indice < 200; indice ++) {
  10.     var b;
  11.     b = 200;
  12.     setTimeout(aumentar(indice,indice2), b);
  13.     indice2 ++;
  14.     b +=  200;
  15. }
  16.  
  17.  
  18.  
  19. }
  20.  
  21. </script>
  #2 (permalink)  
Antiguo 06/08/2012, 10:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Argumentos invalidos

pues amigo esta consulta es de javascript crea el tema en javascript http://www.forosdelweb.com/f13/ o que lo desplazen
  #3 (permalink)  
Antiguo 06/08/2012, 11:48
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 9 años, 8 meses
Puntos: 29
Respuesta: Argumentos invalidos

Cita:
Iniciado por webankenovi Ver Mensaje
pues amigo esta consulta es de javascript crea el tema en javascript [url]http://www.forosdelweb.com/f13/[/url] o que lo desplazen
uups parece que sin querere lo he puesto en el apartado de php, perdonanme.

Saben como corregir el problema?
  #4 (permalink)  
Antiguo 06/08/2012, 11:54
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 10 años, 4 meses
Puntos: 343
Respuesta: Argumentos invalidos

setTimeout espera una función o un string (no recomendado), en tu código estás llamandolo con el resultado de tu función aumentar (que no es una función).

Probá con algo como esto:

Código Javascript:
Ver original
  1. function aumentar(ancho,alto) {
  2.     document.images[0].width = ancho;
  3.     document.images[0].height = alto;
  4. }
  5.  
  6. function images() {
  7.     var indice2 = 1;
  8.     var b;
  9.  
  10.     for(var indice = 1; indice < 200; indice ++) {
  11.         b = 200;
  12.  
  13.         setTimeout((function(ancho, alto) {
  14.             aumentar(ancho, alto)
  15.         })(indice, indice2), b);
  16.  
  17.         indice2 ++;
  18.         b +=  200;
  19.     }
  20. }
__________________
blog | @aijoona
  #5 (permalink)  
Antiguo 07/08/2012, 00:41
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 9 años, 8 meses
Puntos: 29
De acuerdo Respuesta: Argumentos invalidos

Cita:
Iniciado por Aijoona Ver Mensaje
setTimeout espera una función o un string (no recomendado), en tu código estás llamandolo con el resultado de tu función aumentar (que no es una función).

Probá con algo como esto:

Código Javascript:
Ver original
  1. function aumentar(ancho,alto) {
  2.     document.images[0].width = ancho;
  3.     document.images[0].height = alto;
  4. }
  5.  
  6. function images() {
  7.     var indice2 = 1;
  8.     var b;
  9.  
  10.     for(var indice = 1; indice < 200; indice ++) {
  11.         b = 200;
  12.  
  13.         setTimeout((function(ancho, alto) {
  14.             aumentar(ancho, alto)
  15.         })(indice, indice2), b);
  16.  
  17.         indice2 ++;
  18.         b +=  200;
  19.     }
  20. }
Gracias por tu respuesta pero al poner el codigo de esta manera :


Código Javascript:
Ver original
  1. <script language="javascript">
  2. function aumentar(ancho,alto) {
  3. document.images[0].width = ancho;
  4. document.images[0].height = alto;
  5. }
  6. function images() {
  7. var indice;
  8. var indice2 = 1;
  9. for(indice = 1; indice < 200; indice ++) {
  10.     var b;
  11.     b = 200;
  12.     setTimeout((function(ancho, alto) {
  13.     aumentar(ancho, alto)
  14.     })(indice, indice2), b);
  15.     indice2 ++;
  16.     b +=  200;
  17. }
  18.  
  19.  
  20.  
  21. }
  22.  
  23. </script>

Tambien me dice que los argumentos son invalidos... aunque desde google chrome me muestra la imagen ya grande pero sin el efecto y en internet explorer el script directamente no funciona y me dice el error de los argumentos.
Alguna otra idea?
Gracias :)

Etiquetas: aumentar, image, settimeout
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 10:17.