Использование jQuery cookie.js для запоминания элемента скрытия/отображения?

Я нашел отличный учебник о том, как показать и скрыть определенный div на странице. Я получил код, работающий нормально, но я хотел бы расширить его до того, что отображение/скрытие запоминается при загрузке страницы. Я искал решение, файл cookie jQuery был ответом ... если бы я знал, как написать фактический код, который есть ... Вот текущий фрагмент:

<script type="text/javascript">
jQuery(document).ready(function() {
 // hides the group_desciption as soon as the DOM is ready
 // (a little sooner than page load)
  jQuery('#group_desciption').hide();
 // shows the group_desciption on clicking the noted link
  jQuery('a#slick-show').click(function() {
 jQuery('#group_desciption').show('slow');
 return false;
  });
 // hides the group_desciption on clicking the noted link
  jQuery('a#slick-hide').click(function() {
 jQuery('#group_desciption').hide('fast');
 return false;
  });
 // toggles the group_desciption on clicking the noted link
  jQuery('a#slick-toggle').click(function() {
 jQuery('#group_desciption').toggle(400);
 return false;
  });
});</script>

Любая идея, как я могу добавить файлы cookie, чтобы запомнить выбор пользователя? Пример кода был бы отличным, так как я все еще пытаюсь понять jQuery/Javascript в целом :)

Заранее спасибо :)


person Bowe Frankema    schedule 13.09.2010    source источник


Ответы (1)


Должно быть довольно легко. Когда вы показываете div, добавьте код, например:

jQuery.cookie('show_desc', 'yep');

... и когда вы скрываете div:

jQuery.cookie('show_desc', 'nope');

... а затем в верхней части кода, где у вас есть:

jQuery('#group_desciption').hide();

... измените его на:

var shouldShow = jQuery.cookie('show_desc') == 'yep';
if( shouldShow ) { jQuery('#group_desciption').show(); }
else {             jQuery('#group_desciption').hide(); }

Или, альтернативно:

jQuery('#group_desciption')[jQuery.cookie('show_desc') == 'yep' ? 'show' : 'hide']();

:)

person rfunduk    schedule 13.09.2010
comment
Спасибо!! с некоторой помощью и возиться я получил это работать отлично! - person Bowe Frankema; 14.09.2010