使用jQuery cookie.js来记住hide / show元素?
我找到了一个关于如何在页面上显示和隐藏某个div的精彩教程。 我得到的代码工作正常,但我想扩展是在页面加载时记住show / hide。 我已经找到了解决方案jQuery cookie就是答案..如果我知道如何编写实际的代码是..这是当前的代码片段:
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; }); });
知道如何添加cookie以记住用户的选择吗? 一个代码示例会很棒,因为我仍然试图掌握jQuery / Javascript 🙂
提前致谢 :)
应该很容易。 当你显示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']();
🙂