如何为slideDown菜单设置jQuery Cookie?

如何为slideDown菜单设置jQuery Cookie?,jquery,cookies,slidedown,jquery-cookie,Jquery,Cookies,Slidedown,Jquery Cookie,我有一个向下滑动的菜单,我想记住菜单的最后一个状态,以便在页面加载时,最后一个状态已经被选中。我正试图通过使用来实现这一点,这就是我所做的: $("#menu h3").click(function(){ $("#menu ul ul").slideUp(); if(!$(this).next().is(":visible")){ var id = $(this).attr('id'); $.cookie(id, $(this).is(':v

我有一个向下滑动的菜单,我想记住菜单的最后一个状态,以便在页面加载时,最后一个状态已经被选中。我正试图通过使用来实现这一点,这就是我所做的:

$("#menu h3").click(function(){
    $("#menu ul ul").slideUp();
    if(!$(this).next().is(":visible")){
        var id = $(this).attr('id');   
        $.cookie(id, $(this).is(':visible') ? "closed" : "open");
        if ($.cookie(id) == "open") {
            $(this).next().slideDown();
        }
    }
});

当我重新加载页面时,我没有得到最后一个状态,
.slideDown()
不起作用。 有人能帮我吗


谢谢

我稍微修改了你的代码。试试这个:

var active = $.cookie('active'),
    $h3 = $("#menu h3"),
    $activeH3 = $h3.filter('#' + active);

$h3.click(function(e, speed) {
    $("#menu ul ul").slideUp(speed);
    if (!$(this).next().is(":visible")) {
        $(this).next().slideDown(speed);
        $.cookie('active', this.id);
    }
});

if ($activeH3.next().is(':hidden')) {
    $activeH3.trigger('click', [0]);
}
确保还为
h3
元素设置了ID


演示非常感谢@dfsq!!