Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery,重新加载页面时切换/手风琴菜单问题_Javascript_Jquery - Fatal编程技术网

Javascript JQuery,重新加载页面时切换/手风琴菜单问题

Javascript JQuery,重新加载页面时切换/手风琴菜单问题,javascript,jquery,Javascript,Jquery,这是我的密码 var menuToggle = false; $(document).ready(function () { // Init Tabs $("#ipsg-tabs").tabs(); // Init Tooltips $(function () { $('.ipsg-tab').tooltip(); });; // Init Menu accordionMenu(); // Toggle Menu $('.ipsg-logo-menu-btn').click(f

这是我的密码

var menuToggle = false;

$(document).ready(function () {
// Init Tabs
$("#ipsg-tabs").tabs();

// Init Tooltips
$(function () {
    $('.ipsg-tab').tooltip();
});;

// Init Menu 
accordionMenu();

// Toggle Menu
$('.ipsg-logo-menu-btn').click(function () {
    if (!menuToggle) {
        menuToggle = true;
        $('.sg-accordion > .ipsg-nav-items').hide();
        $('.sg-accordion h3').removeClass('state-selected');
        $('.ipsg-container').addClass('ipsg-menu-collapse');
    } else {
        menuToggle = false;
        $('.ipsg-container').removeClass('ipsg-menu-collapse');
    }
});

});

function accordionMenu() {
var allPanels = $('.sg-accordion > .ipsg-nav-items');    
var menuLeaving = false;
$('.sg-accordion > h3 > a').click(function () {
    if (!menuToggle) {
        if (!$(this).parent().hasClass('state-selected')) {
            allPanels.slideUp('fast');
            $('.sg-accordion h3').removeClass('state-selected');

            $(this).parent().next().slideDown('fast');
            $(this).parent().addClass('state-selected');
        } else {
            allPanels.slideUp('fast');
            $('.sg-accordion h3').removeClass('state-selected');
        }
    }

    return false;
});

$('.sg-accordion > h3 > a').mouseenter(function () {
    if (menuToggle) {
        menuLeaving = false;
        $('.sg-accordion > .ipsg-nav-items').hide();
        $('.sg-accordion h3').removeClass('state-selected');
        $(this).parent().next().show();
        $(this).parent().addClass('state-selected');
    }
});

$('.sg-accordion > .ipsg-nav-items').mouseenter(function () {
    if (menuToggle) {
        menuLeaving = false;
    }
});

$('.sg-accordion > h3 > a').mouseleave(function () {
    if (menuToggle) {
        menuLeaving = true;

        setTimeout(function () {
            if (menuLeaving) {
                $('.sg-accordion > .ipsg-nav-items').hide();
                $('.sg-accordion h3').removeClass('state-selected');
            }
        }, 400);
    }
});

$('.sg-accordion > .ipsg-nav-items').mouseleave(function () {
    if (menuToggle) {
        menuLeaving = true;

        setTimeout(function () {
            if (menuLeaving) {
                $('.sg-accordion > .ipsg-nav-items').hide();
                $('.sg-accordion h3').removeClass('state-selected');
            }
        }, 400);
    }
});
}
我正在尝试关闭或打开切换菜单,具体取决于页面重新加载。因此,如果我正在使用汉堡包菜单,并点击一个链接,我希望汉堡包菜单在重新加载后保持不变。和打开菜单一样,如果我点击这些链接,我希望菜单在重新加载时保持打开状态


有人有什么想法吗?

这是我会使用localStorage或Cookie进行的事情。您可以为其中一个设置一个变量,该变量允许您指示菜单是打开还是关闭。

之前询问过。您可以使用cookies,因为它易于实现和维护。

链接在这里

您是否可以使用后端语言来处理此问题?javascript/jQuery通常会导致菜单在更改之前处于打开或关闭状态的“闪烁”时刻。使用后端语言,您可以为已打开的菜单传递代码。我正在后端使用.net。。我不知道该怎么做:/不幸的是,我在.net的经验总和是一次实习,所以我不知道你会怎么做,但听起来你可以使用它将数据(可能来自菜单项上的单击事件)发送到后端,您可以将其存储在用户的会话或闪存数据中,并在以后引用以将活动类添加到菜单或菜单项中。该类将简单地模拟您的框架用于打开菜单的内容。显然,下面的答案是关于如何使用javascript实现这一点的,这可能更容易实现,但如果您需要后端方法,听起来是可行的。我应该在哪里从下面的链接添加代码?你能提供你的HTML代码,以便我可以添加一些代码吗?代码只是在ipsg徽标菜单btn类上调用。。一分为二。。。该菜单是带有链接的下拉菜单。。但当我们点击汉堡包菜单时,下拉菜单切换到侧面图标nav。。