Foros del Web » Programando para Internet » Javascript »

Guardar función en local storage para cuando vuelvas a cargar la página

Estas en el tema de Guardar función en local storage para cuando vuelvas a cargar la página en el foro de Javascript en Foros del Web. Hola, Tengo un código donde al darle un botón hace que aparezca (o desaparezca si se vuelve a dar) un apartado de una lista del ...
  #1 (permalink)  
Antiguo 20/09/2014, 02:55
 
Fecha de Ingreso: septiembre-2014
Mensajes: 5
Antigüedad: 10 años, 2 meses
Puntos: 0
Guardar función en local storage para cuando vuelvas a cargar la página

Hola,

Tengo un código donde al darle un botón hace que aparezca (o desaparezca si se vuelve a dar) un apartado de una lista del menú. Quiero guardarlo con local storage para que a pesar de navegar por la web el valor se quede guardado. Encontré algo: http://www.taringa.net/comunidades/webdesign/6552330/Mostrar-ocultar-div-guardando-con-localStorage.html pero no me aclaro mucho... Si alguien me pudiese ayudar... gracias.

Código:
Código:
JAVASCRIPT:

function muestra_oculta(id){
if (document.getElementById){ //se obtiene el id
var el = document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' : 'none'; //damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra_oculta('contenido_a_mostrar');/* "contenido_a_mostrar" es el nombre de la etiqueta DIV que deseamos mostrar */
}

HTML5
Código HTML:
****MENÚ NAVEGACIÓN****
...
<li id="contenido_a_mostrar"><a href="fotografia.html">Fotografia <input type="checkbox" checked/></a></li>
...
****FIN MENÚ NAVEGACIÓN****

<input type="button" onclick="muestra_oculta('contenido_a_mostrar')" value="Apuntarse/Desapuntarse"/> 
  #2 (permalink)  
Antiguo 20/09/2014, 06:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Guardar función en local storage para cuando vuelvas a cargar la página

en lugar de usar storage, en este post uso window.name
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 20/09/2014, 14:27
 
Fecha de Ingreso: septiembre-2014
Mensajes: 5
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Guardar función en local storage para cuando vuelvas a cargar la página

Lo he probado y aunque funciona si solo lo hago con un apartado de la lista del menú (si pruebo a hacerlo con 2 apartados diferentes de la misma lista se me ralla, aún no se si hago algo mal o es que no se puede), necesito hacerlo con local storage, o si se puede de otra manera, de manera que al cerrar la página y volver a acceder a ella, esa lista que se ha decidido ocultar se quede oculta o al revés, si se ha decidido mostrar que quede como visible.
  #4 (permalink)  
Antiguo 22/09/2014, 05:56
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Guardar función en local storage para cuando vuelvas a cargar la página

window.name, localstorage, variables o cookies pueden almacenar distintos tipos de datos (strings, numbers, arrays, objetos, etc..)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 23/09/2014, 11:21
 
Fecha de Ingreso: septiembre-2014
Mensajes: 5
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Guardar función en local storage para cuando vuelvas a cargar la página

Hola IsaBelM,

Ya casi lo he conseguido, he probado a hacerlo con jquery. Perdona que me explique tan mal, lo que quiero es algo como lo que pongo a continuación. Lo único que no consigo es que aparezca el link:



Código:
$("#vamoalla").on("click",function(){ 
                 if ($("#contenido_a_mostrar").is(":hidden") )
                 {
                     $("#contenido_a_mostrar").show(); 
                     localStorage["cursofoto"]="apuntado";
                 }
                 else
                 {
                     $("#contenido_a_mostrar").hide(); 
                     localStorage["cursofoto"]="noapuntado"
                 }
            })

Código:
$(document).ready(function(){
                /*si el valor no es undefined significa que la variable ya fue seteada con un valor*/ 
                if (localStorage["cursofoto"]!=undefined)
                {
                    /*condicionamos el valor del estado para dar uns instruccion si cerrar o abrir*/
                    switch(localStorage["cursofoto"])
                    {
                        case 'apuntado':
                            $("#contenido_a_mostrar").show(); 
                            break;
                        case 'noapuntado':
                            $("#contenido_a_mostrar").hide();
                            break;    
 
                    }
                }
 
            })
y lo quiero aplicar sobre esto

<li id="contenido_a_mostrar" style="display:none"><a href="fotografia.html" target="_blank">Fotografia <input type="checkbox" checked/></a></li>

Última edición por Bodhidarma; 23/09/2014 a las 11:47

Etiquetas: html, input, local, página, storage, valor
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 12:49.