1

jQuery CookieプラグインをこのjQueryのスニペットに実装して、ページを離れるときにトグルの開いた状態と閉じた状態を保存するにはどうすればよいですか?

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

1 に答える 1

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: '/' });
}
于 2010-01-02T08:43:57.300 に答える