Foros del Web » Programando para Internet » Javascript »

mantener div oculto con cookies

Estas en el tema de mantener div oculto con cookies en el foro de Javascript en Foros del Web. saludos sigo con mis intentos frustrados de javascript (esto con jquery es lo más pan del mundo) y quiero manejar cookies para que el usuario ...
  #1 (permalink)  
Antiguo 01/11/2011, 19:03
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
mantener div oculto con cookies

saludos sigo con mis intentos frustrados de javascript (esto con jquery es lo más pan del mundo) y quiero manejar cookies para que el usuario al dar ocultar un div se mantenga así hasta que expire la cookie;

bueno uso este script que crea la variable Cookies (esto solo como apoyo).
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var Cookies = {
  3.     init: function () {
  4.         var allCookies = document.cookie.split('; ');
  5.         for (var i=0;i<allCookies.length;i++) {
  6.             var cookiePair = allCookies[i].split('=');
  7.             this[cookiePair[0]] = cookiePair[1];
  8.         }
  9.     },
  10.     create: function (name,value,days) {
  11.         if (days) {
  12.             var date = new Date();
  13.             date.setTime(date.getTime()+(days*24*60*60*1000));
  14.             var expires = "; expires="+date.toGMTString();
  15.         }
  16.         else var expires = "";
  17.         document.cookie = name+"="+value+expires+"; path=/";
  18.         this[name] = value;
  19.     },
  20.     erase: function (name) {
  21.         this.create(name,'',-1);
  22.         this[name] = undefined;
  23.     }
  24. };
  25. <script>


estas 3 funciones simplifican el hecho de crear leer y borrar las cookies creadas todo ok
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. <!--
  3. function saveIt(name, value) {
  4.     Cookies.create(name,value,100);
  5. }
  6.  
  7. function readIt(name) {
  8.     document.getElementById("estado").innerHTML = 'El valor de la cookie es ' + Cookies[name];
  9. }
  10.  
  11. function eraseIt(name) {
  12.     Cookies.erase(name);
  13. }
  14. // -->
  15. </script>

con esta funcion oculto y muestro el div

Código Javascript:
Ver original
  1. function mostrar_ocultar(dcodigo) {
  2.     if ((document.getElementById(dcodigo).style.display) == 'block') {
  3.         document.getElementById(dcodigo).style.display = 'none';
  4.         cambiarTexto(dcodigo,'mostrar') ;// Texto para cuando la capa esté oculta
  5.         saveIt('statdiv', 'none');
  6.         document.getElementById("estado").innerHTML = 'El valor de la cookie es ' + Cookies['statdiv'];
  7.     }else{
  8.         document.getElementById(dcodigo).style.display = 'block';
  9.         cambiarTexto(dcodigo,"ocultar"); // Texto para cuando la capa esté visible
  10.         saveIt('statdiv', 'block');
  11.         document.getElementById("estado").innerHTML = 'El valor de la cookie es ' + Cookies['statdiv'];
  12.     }
  13. }


perdón por tanto código, pero puede que a alguien le sirva para sus fines

mi problema es que cuando oculto y muestro el div creo las cookies, pero si le doy a mi script de leer las ccokies fuera de la función me muestra undefined, solo la lee cuando se ejecuta dentro de la funcion

gracias a cualquiera que se tome la molestia de ayudarme y de leer todo esto
  #2 (permalink)  
Antiguo 01/11/2011, 19:10
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: mantener div oculto con cookies

este es el código html que uso

Código HTML:
Ver original
  1. <span class="oculto" onclick="mostrar_ocultar('oculto');">ocultar</span>
  2.         <div id="oculto" style="display:block">
  3.             Hola
  4.         </div>
  5.         <div id="estado"></div>
  6.         <script type="text/javascript">
  7.             document.getElementById("estado").innerHTML = 'El valor de la cookie es ' + Cookies['statdiv'];
  8.         </script>

Etiquetas: cookies, funcion, html, jquery, oculto
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 11:01.