简体   繁体   English

jQuery slideDown和slideUp-如何保留页面更改语句

[英]jQuery slideDown and slideUp - how to keep statement on page change

I have created a menu which uses jQuery slideDown/slideUp to show/hide menu items. 我创建了一个使用jQuery slideDown / slideUp显示/隐藏菜单项的菜单。 Jquery code looks like jQuery代码看起来像

$(".menu-reveal a").click(function() {
    if ($(".menu").is(":visible")) {
        $(".menu").slideUp(300);
        $(".menu-reveal").removeClass("revealed");
    } else {
        $(".menu").slideDown(300);
        $(".menu-reveal").addClass("revealed");
    }
});

Site is loading by default with "hidden" menu items, then visitor needs to click it to see menu items. 默认情况下,网站正在加载“隐藏”菜单项,然后访问者需要单击它才能查看菜单项。

My question is how I can "keep" menu statement if was expanded or not on page change? 我的问题是,如果页面已扩展或未更改,我如何“保留”菜单语句? For an example I want to have it shown on next page when it was expanded on a previous page. 例如,当它在上一页展开时,我想在下一页显示它。

Here is working code: 这是工作代码:

    $(".menu-reveal a").click(function() {
    if ($(".menu").is(":visible")) {
        $.removeCookie("top-menu", { path: '/' });
        $(".menu").slideUp(300);
        $(".menu-reveal").removeClass("revealed");
    } else {
        $(".menu").slideDown(300);
        $(".menu-reveal").addClass("revealed");
        $.cookie("top-menu", 1, { path: '/' });
    }
});

// Permanent top menu
    var cookieTopMenu = $.cookie("top-menu");

    if (cookieTopMenu == 1){
        $(".menu").slideDown(1);
        $(".menu-reveal").addClass("revealed");     }
    else {
        $(".menu").slideUp(1);
        $(".menu-reveal").removeClass("revealed");
    }

I have used jQuery cookie plugin to achieve desired results. 我已经使用jQuery cookie插件来达到预期的效果。

Hope it will helps somebody else. 希望它会帮助别人。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM