手风琴,标签菜单,为两者分配选择类

时间:2011-01-29 10:46:26

标签: javascript jquery menu tabs accordion

我有两个菜单:Accordion菜单和Tab菜单,对于Tab菜单,有一个已分配的类被选中打开的链接,我想以同样的方式分配类(例如)open_menu手风琴菜单。实际上,如果类open_menu将来自condiotion,在其ul中有一个带有Selected类的A链接,它会好得多,因为选择给链接的类是从cookie中获取的,即使页面是刷新它来到这个链接选择。无论如何,你可以在这里看到所有来源:http://jsfiddle.net/bq6tA/6/ 实际上我想要的最终产品,在刷新页面后,会打开手风琴的标签,以及选中的手风琴选项卡中的标签菜单链接

1 个答案:

答案 0 :(得分:1)

See a working demo of the following code here.

我修改了你的initMenu函数,将open_menu类添加到适当的手风琴中(并添加了一个CSS类,表明它是通过将背景更改为绿色来添加的):

function initMenu() {
    // SNIP ...
    $('#menu li a').click(function() {
        // SNIP ...
        if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#menu ul:visible').slideUp('normal')
                                 .siblings('a').removeClass('open_menu');
            checkElement.slideDown('normal')
                        .siblings('a').addClass('open_menu');
            return false;
        }
    });
}

然后我创建了一个在initMenu之后调用的函数,该函数将触发与当前所选项目的rel相同id的手风琴点击:

function showCurrentTab() {
    var curId = $('.tabcontent:visible')[0].id,
        $curLink = $('a[rel="'+curId+'"]');

    $curLink.closest('ul')
            .parent('li')
            .children('a').click();
}

要弄清楚这里发生了什么,请参阅closestparentchildren的API文档,并将其与您的HTML结构相关联。