Jquery cookie插件 - 如何为show / open元素设置cookie

时间:2011-05-07 16:31:27

标签: jquery cookies

当我离开页面到另一个页面时,我需要记住whitch块是打开的 这是可折叠的导航菜单.div'块'内容包含内部链接。

<script type="text/javascript">
    <!--//--><![CDATA[//><!-- 

    $(document).ready(function () {
    $('.acc_container').hide(); 
    $('.acc_trigger:first').addClass('active').next().show(); 

    $('.acc_trigger').click(function(){
        if( $(this).next().is(':hidden') ) { 
            $('.acc_trigger').removeClass('active').next().hide(); 
            $(this).toggleClass('active').next().show();
        }
        return false; 
    });
    });

    //--><!]]>
    </script>


<h2 class="acc_trigger"><a href="#">Messages</a></h2>
    <div class="acc_container">
          <div class="block">content1    </div>
        </div>
    <h2 class="acc_trigger"><a href="#">Categories</a></h2>
        <div class="acc_container">
          <div class="block">content2    </div>
        </div>
.....
<h2 class="acc_trigger"><a href="#">Clients</a></h2>
        <div class="acc_container">
          <div class="block">content10   </div>
        </div>

1 个答案:

答案 0 :(得分:2)

试试这个:

$(document).ready(function () {
    $('.acc_container').hide(); 
    $('.acc_trigger')
      .eq( $.cookie('activeTrigger'))//<!-- read index from cookie
        .addClass('active').next().show(); 

    $('.acc_trigger').click(function(){
       $.cookie('activeTrigger',$('.acc_trigger').index(this));//<!-- set the cookie
        if( $(this).next().is(':hidden') ) { 
            $('.acc_trigger').removeClass('active').next().hide(); 
            $(this).toggleClass('active').next().show();
        }
        return false; 
    });
    });

它将点击的$('.acc_trigger')项内容的索引存储到Cookie中,之后它会使用此索引通过$().eq()

选择此项目