手风琴打开页面并在单击父级时展开

时间:2013-11-08 11:46:49

标签: jquery accordion

我有一个手风琴菜单,我正在努力完成以下任务:

单击父项时,会出现一个子菜单并打开我指定的站点。 单击子菜单项后,此页面加载并且子列表保持扩展

我已完成后者,但我不确定如何让手风琴父节点打开一个新网站。

代码如下:

<div class="accordion" id="menu"">
    <div class="accordion-group">
        <div class="accordion-heading">
            <a data-parent="#menu" href="@Url.Action("Index", "Home", new { area = ""})">&nbsp;Home
            </a>
        </div>
    </div>

    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#menu" href="#ServiceSublist" >&nbsp;Services
            </a>
        </div>
        <div id="ServiceSublist" class="accordion-body collapse">
            <div class="accordion-inner">
                <ul>
                    <li>@Html.ActionLink("Service 1", "Service1", "Services", new { area = "" }, new { })</li>
                    <li>@Html.ActionLink("Service 2", "Service2", "Services", new { area = "" }, new { })</li>

                </ul>
            </div>
        </div>
    </div>

和jQuery:

$(document).ready(function () {
    $('#menu ul li').click(function (e) {
        if ($(this).attr('class') != 'active') {
            $('#menu ul li a').removeClass('active');
            $(this).addClass('active');

        }
    });

    $('a').filter(function () {
        return this.href === document.location.href;
    }).addClass('active')

    $(function () {
        var arr = window.location.pathname.split("/");
        $(arr).each(function () {

            if (this == "Services") {
                $('#ServiceSublist').collapse('show');
            }


        })

    });
});

问题出在这里(我相信)

<a class="accordion-toggle" data-toggle="collapse" data-parent="#menu" href="#ServiceSublist" >&nbsp;Services</a>

因为href指向它需要的#ServiceSublist。我怎样才能让这条线打开一个新窗口?我尝试过使用onclick =“”,但这确实搞砸了菜单并将实体添加到菜单中(我不想要..我只想打开页面并保持子列表扩展)。

注意:这里的来源是我正在使用的修改版本,但一般的想法是相同的

1 个答案:

答案 0 :(得分:0)

给定锚标记的ID -

&LT; a class =“accordion-toggle”data-toggle =“collapse”data-parent =“#menu”id =“service”&gt;服务

然后点击那个打开一个新窗口

$(document).ready(function(){

        $('#service').click(function () {
            window.open("https://www.google.co.in/");
        });

});