0

我有一个手风琴菜单,我正在尝试完成以下操作:

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

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

代码如下:

<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="",但这确实弄乱了菜单并将实体添加到菜单中(我不想要它。我只想打开页面并保持子列表展开)。

注意:这里的源码是我使用的修改版,但大体思路是一样的

4

1 回答 1

0

给你的锚标签一个 id-

<a class="accordion-toggle" data-toggle="collapse" data-parent="#menu" id="service" > 服务

然后点击打开一个新窗口

$(文档).ready(函数 () {

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

});

于 2013-11-08T12:13:18.077 回答