Foros del Web » Programando para Internet » Javascript »

modificar una variable global dentro de una funcion

Estas en el tema de modificar una variable global dentro de una funcion en el foro de Javascript en Foros del Web. Hola foro: Alguien sabe como puedo modificar una variable global dentro de una funcion y que al imprimirla fuera de la funcion me aparezca ya ...
  #1 (permalink)  
Antiguo 03/03/2005, 12:50
Avatar de lorecasas  
Fecha de Ingreso: noviembre-2003
Mensajes: 126
Antigüedad: 20 años, 5 meses
Puntos: 0
modificar una variable global dentro de una funcion

Hola foro:

Alguien sabe como puedo modificar una variable global dentro de una funcion y que al imprimirla fuera de la funcion me aparezca ya modificada? Es que lo intento hacer y no me sale.

var ico = "2"; //variable ico global

function cambiaImg(icono){
//suponiendo que envié el numero 3
ico = icono; //modificando la variable global
}

alert(ico);

Cuando la muestro me sale 2 en lugar del 3 no puedo modificar la variable global dentro de una funcion???

Please, help! Atte. Lore
__________________
Lorena ;-)
  #2 (permalink)  
Antiguo 03/03/2005, 13:08
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
lore ,esto <<//suponiendo que envié el numero 3>> es un 'if', si es asi posiblemente este ahi el fallo ,por que no muestras la funcion completa ?.
  #3 (permalink)  
Antiguo 03/03/2005, 16:55
Avatar de lorecasas  
Fecha de Ingreso: noviembre-2003
Mensajes: 126
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Aqui esta la duda completa

Programeitor:

la pregunta esta completa en el hilo:

http://www.forosdelweb.com/showthrea...244#post995244

Yo comencé el hilo.

Gracias!! Atte. Lore
__________________
Lorena ;-)
  #4 (permalink)  
Antiguo 03/03/2005, 17:16
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, Lore
La variable global tiene que cambiarse perfectamente desde la función. Prueba esto:
Código HTML:
<script>
var ico = "2"; //variable ico global

function cambiaImg(icono){
ico = icono; 
alert(ico);
}
</script>
<form>
<input type="button" value="cambiar a 3" onClick="cambiaImg(3)">
</form> 
__________________
Angel :cool:
  #5 (permalink)  
Antiguo 04/03/2005, 09:34
Avatar de lorecasas  
Fecha de Ingreso: noviembre-2003
Mensajes: 126
Antigüedad: 20 años, 5 meses
Puntos: 0
no sale

Noup angsanchez:

aqui esta mi codigo:

Código:
<script language="JavaScript" type="text/JavaScript">
var ruta1;
var ruta2;
var ruta3;
var foto=new Array();
foto[0]=new Image();
foto[1]=new Image();
foto[2]=new Image();
function cambiaImg(icono){
	ruta1 = "_img/iconos_out/"+icono+".jpg";
	ruta2 = "_img/iconos_over/"+icono+".jpg";
	ruta3 = "_img/iconos_out/"+icono+".jpg";
alert(ruta1);
	foto[0].src = ruta1;
	foto[1].src = ruta2;
	foto[2].src = ruta3;
}
alert(ruta1);
</script>

y en la pagina:

Código HTML:
<td width="32" height="38" valign="top"><a href="#" onClick="javascript:RecargarImagen(<? echo $id_dep ?>,<? echo $icono ?>);"><img src="<? echo $ruta_iconos ?>" width="32" height="32" border="0" onMouseOut="cambiaImg(<? echo $icono ?>)" onMouseOver="cambiaImg(<? echo $icono ?>)" onClick="cambiaImg(<? echo $icono ?>)"></a></td> 
y la variable $icono que es php si tiene algo. Las variables ruta dentro de la funcion si cambian, las globales las muestro y me sale el valor 'undefined'.

Atte. Lore
__________________
Lorena ;-)
  #6 (permalink)  
Antiguo 04/03/2005, 13:49
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Sigo pensando que los valores se actualizan bien.
Prueba esto (prácticamente copiado del tuyo, pero quitando lo de PHP que no controlo):
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<script language="JavaScript" type="text/JavaScript">

var ruta1;
var ruta2;
var ruta3;
var foto=new Array();
foto[0]=new Image();
foto[1]=new Image();
foto[2]=new Image();
function cambiaImg(icono){
ruta1 = "_img/iconos_out/"+icono+".jpg";
ruta2 = "_img/iconos_over/"+icono+".jpg";
ruta3 = "_img/iconos_out/"+icono+".jpg";
alert("valor de ruta1 en la función: "+ruta1);
foto[0].src = ruta1;
foto[1].src = ruta2;
foto[2].src = ruta3;
}
</script>
</head>

<body>
<table border=1><tr>
<td width="32" height="38" valign="top">
<a href="#">
<img src="algo.gif" width="32" height="32" border="0"
onClick="cambiaImg('$icono')">
</a>
</td>
</tr></table>
<a href='javascript:alert("valor global de ruta1 : "+ruta1);'>Mostrar valor global de ruta1</a>
</body>
</html>
Y me cuentas
__________________
Angel :cool:
  #7 (permalink)  
Antiguo 05/03/2005, 09:17
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Hola Lore .

El problemas es que a la funcion no llega ningun valor, por eso te muestra el que tenia previamente establecido.
No estoy muy seguro ,por que tambien estoy pegado de php, pero creo que te falta entrecomillar los valores que pasas , esto lo podrias preguntar en el foro de php .

<td width="32" height="38" valign="top"><a href="#" onClick="javascript:RecargarImagen('<? echo $id_dep ?>','<? echo $icono ?>');"><img src="<? echo $ruta_iconos ?>" width="32" height="32" border="0" onMouseOut="cambiaImg('<? echo $icono ?>')" onMouseOver="cambiaImg('<? echo $icono ?>')" onClick="cambiaImg('<? echo $icono ?>')"></a></td>

.

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 23:51.