实现jQuery Cookie插件

时间:2010-01-02 01:33:03

标签: jquery plugins cookies toggle

我如何在这个jQuery片段中实现jQuery Cookie插件,以便在离开页面时保存切换的打开/关闭状态?

$(document).ready(function() {
  $('a.toggle').click(function() { 
   var id = $(this).attr('name');
   $('#module' + id).slideToggle('fast');
   $('a.toggle[name='+id+']').toggle();
   return false; 
  });
});

1 个答案:

答案 0 :(得分:2)

只要在动画期间不关闭选项卡/窗口,就应该保存状态。如果你担心这一点,那就不难解决了。

$(function() {
    $('a.toggle').click(function() { 
        var id = $(this).attr('name');
        $('#module' + id).slideToggle(
            'fast',
            function() { set_cookie(this, 'module_' + id); }
        );
        $('a.toggle[name='+id+']').toggle(
            'normal',  // speed required to use callback
            function() { set_cookie(this, 'link_' + id}
        );
        return false; 
  });
});

function set_cookie(target, name) {
    var is_displayed = $(target).css('display') != 'none';
    $.cookie(name, is_displayed, { expires: 30, path: '/' });
}