加载新页面时使子菜单保持打开状态并被选中

发布于 2024-11-10 06:54:07 字数 1294 浏览 0 评论 0原文

我有一个主菜单,其中一个选项在切换时具有手风琴效果,使用以下脚本:

$(document).ready(function(){
    $(function(){
        $("#accordion").accordion({
            active: false,
            autoHeight: false,
            collapsible: true
        });
    });
});

当选择其子选项之一时,我将添加一个活动类:

jQuery.fn.slideFadeToggle = function(speed, easing, callback){
    return this.animate({opacity: 'toggle', width: 'toggle'}, speed, easing, callback);  
    };

    $(document).ready(function(){

        $("#subNavUs").hide();
        $("#us").click(function () {
            $("#subNavSys").hide();
            $("#subNavApp").hide();
            $("#subNavAcc").hide();
            $("#subNavUs").slideFadeToggle(800);
            $('*').removeClass('active');
            $(this).addClass('active');
            return true;
        });
        $("#subNavSys").hide();
        $("#sys").click(function () {
            $("#subNavUs").hide();
            $("#subNavApp").hide();
            $("#subNavAcc").hide();
            $("#subNavSys").slideFadeToggle(800);
            $('*').removeClass('active');
            $(this).addClass('active');
            return true;
        });

这会触发一个子菜单,但是当我选择此新子菜单的任何用于加载新页面的选项(手风琴菜单和子菜单均已隐藏)。我怎样才能让它们保持开放状态并显示我想要分配给它们的活动班级?

I have a main menu and one of its options has an accordion effect on toggle with the following script:

$(document).ready(function(){
    $(function(){
        $("#accordion").accordion({
            active: false,
            autoHeight: false,
            collapsible: true
        });
    });
});

When one of its sub-options is selected I add an active class with this:

jQuery.fn.slideFadeToggle = function(speed, easing, callback){
    return this.animate({opacity: 'toggle', width: 'toggle'}, speed, easing, callback);  
    };

    $(document).ready(function(){

        $("#subNavUs").hide();
        $("#us").click(function () {
            $("#subNavSys").hide();
            $("#subNavApp").hide();
            $("#subNavAcc").hide();
            $("#subNavUs").slideFadeToggle(800);
            $('*').removeClass('active');
            $(this).addClass('active');
            return true;
        });
        $("#subNavSys").hide();
        $("#sys").click(function () {
            $("#subNavUs").hide();
            $("#subNavApp").hide();
            $("#subNavAcc").hide();
            $("#subNavSys").slideFadeToggle(800);
            $('*').removeClass('active');
            $(this).addClass('active');
            return true;
        });

And this triggers a sub-menu, but when I select any of this new sub-menu's options to load a new page both the accordion menu and the sub-menu are back hidden. How can I make them stay open and show the active class I want to assign them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄人书 2024-11-17 06:54:07

刚刚将“navigation: true”添加到手风琴功能中。这是一个初学者的错误,但我终于让它工作了:)

我发布它以防有人可能有同样的问题。

Just added "navigation: true" to the accordion function. It was a beginner's mistake but I finally got it to work :)

I post it in case someone might have the same issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文