Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/11/2011, 19:03
Avatar de memoadian
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