Foros del Web » Programando para Internet » Javascript » Frameworks JS »

variables javascript llevar de local a global

Estas en el tema de variables javascript llevar de local a global en el foro de Frameworks JS en Foros del Web. Buenas!!! No soy muy ducho con javascript ni jquery... pero estoy intentando hacer un script de menu que oculte y muestre los respectivos DIVs para ...
  #1 (permalink)  
Antiguo 07/08/2012, 17:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 1
variables javascript llevar de local a global

Buenas!!!

No soy muy ducho con javascript ni jquery... pero estoy intentando hacer un script de menu que oculte y muestre los respectivos DIVs para cada boton del menu. Se entiende?

No se como se hace esto. Tal vez haya una forma mas simple o ya armada pero no la conozco.

Esta es la idea.

Código:
<script type="text/javascript">
var ocultar = "index";     <------------ el primer div que se ve al entrar al sitio
var mostrar = "";            <-------------- supuse que tenia que declarar la variable global para sacar la local (ocultar) de la funcion
$(document).ready(function(){
	$("#calentitos").hide();   <----------------------escondo uno de los divs que luego deberian mostrarse
	$("#menu_cuerpo a").click(function(e){
		$("#"+ocultar).hide();     <------------------ oculto el div id igual a la variable ocultar (el primer div)
		e.preventDefault();
		var mostrar = $(this).attr("href"); <-------------- asigno a la variable mostrar el valor href que contiene el id del div a mostrar
		$("#"+mostrar).show();   <--------------------------- lo muestro
		var ocultar = $(this).attr("href");   <--------------- y lo asgino a ocultar para ocultarlo en el proximo click
	});
});
</script>
El problema es que cuando vuelvo ejecutar la funcion la variable "ocultar" esta vacia (undefined)
Debería poder asignar el valor de la variable ocultar a una variable global, no?

Estoy muy perdido? De todas formas si saben de otra forma mejor de hacer esto soy todo oídos.
  #2 (permalink)  
Antiguo 07/08/2012, 17:54
 
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 12 años, 3 meses
Puntos: 12
Respuesta: variables javascript llevar de local a global

El problema está en que declaras dentro de la función por segunda vez las variables, y si las declaras dentro de una función las haces locales.
Código Javascript:
Ver original
  1. var ocultar = "index";
  2. var mostrar = "";      
  3. $(document).ready(function(){
  4.     $("#calentitos").hide();  
  5.     $("#menu_cuerpo a").click(function(e){
  6.         $("#"+ocultar).hide();
  7.         e.preventDefault();
  8.         mostrar = $(this).attr("href");
  9.         $("#"+mostrar).show();
  10.         ocultar = $(this).attr("href");
  11.     });
  12. });

se supone que tiene que funcionar, prueba y cuentanos

Última edición por caricatos; 09/08/2012 a las 05:38 Razón: borrar firma
  #3 (permalink)  
Antiguo 07/08/2012, 18:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 51
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: variables javascript llevar de local a global

GENIALLL!!! gracias!!

Aguante forosdelweb!

Etiquetas: funcion, global, javascript, llevar, local, variables, botones
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 20:24.