Pregunta

Lo que estoy tratando de hacer es tener una barra lateral de palanca de apertura y cierre que está funcionando bien pero también quiero cookie para recordar el estado barra lateral cuando se navega por el sitio y al regresar a la página de su

es decir: si cerrado puede cerrar si abierto estar abierto:

$(document).ready(function($) {
 $('a#side').click(function(){
  $('#sidebar').toggle();
$('a#side').text($(this).text() == 'Show' ? 'Hide' : 'Show');
  $.cookie('side_cookie', 'value');
 return false;
});
if($.cookie('side_cookie')) { 
$('#sidebar').hide(); 
   } else {
$('#sidebar').show();
   }
});

El código actual por encima de simplemente recuerda si su estado cerrada y permanece cerrado hasta que se terminó la sesión y lo que tiene que cambiar es abrir cada vez que regrese a la página ...

Un ejemplo de lo que estoy tratando de lograr se puede ver en vbulletin.com/forum/ si cierra su barra lateral a continuación, busque los foros cuando vuelva a la página principal de su todavía cerrada y viceversa.

cualquier ayuda se agradece

¿Fue útil?

Solución 3

chicos THX bien, pero me lo arregló, su mucho más código entonces yo quería como su gran cantidad de .show () / ocultar () en lugar de .toggle () peros funciona Sofor ahora lo hará:.

$('a#hide').click(function(){
  $('a#hide,#sidebar').hide();
  $('a#show').show();
  $.cookie('side_cookie_hidden', 'hidden');
  $.cookie('side_cookie_show', null);
 return false;
});

$('a#show').click(function(){
  $('a#show').hide();
  $('a#hide,#sidebar').show();
  $.cookie('side_cookie_show', 'show');
  $.cookie('side_cookie_hidden', null);
 return false;
});

if($.cookie('side_cookie_hidden')) { 
$('a#show').show();
$('a#hide,#sidebar').hide(); 
   } else {
$('a#show').hide();
$('a#hide,#sidebar').show(); 
}

Otros consejos

Creo que el problema está en si la condición if ($. Cookie ( 'side_cookie')). Prueba esto:

$(document).ready(function($) {
 $('a#side').click(function(){
  $('#sidebar').toggle();
$('a#side').text($(this).text() == 'Show' ? 'Hide' : 'Show');
  $.cookie('side_cookie', $(this).text());
 return false;
});
if($.cookie('side_cookie')=='Hide') { 
$('#sidebar').hide(); 
   } else {
$('#sidebar').show();
   }
});

Usted tiene que comprobar el valor de la cookie en lugar de su existencia. También está codificando el valor de la cookie como value. Cambiarlo a show o hide.

// when it is shown
$.cookie('side_cookie', 'show');

// when it is hidden

$.cookie('side_cookie', 'hide');

y compruebe el valor de la cookie

if($.cookie('side_cookie') === "show") {
    // code for showing side bar
}
else {
    // code for hiding the side bar
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top