我有一个手风琴菜单,我正在尝试完成以下操作:
单击父级时,会出现一个子菜单并打开我指定的站点。单击子菜单项后,此页面加载并且子列表保持展开
我已经完成了后者,但是我不确定如何让手风琴父节点打开一个新站点。
代码如下:
<div class="accordion" id="menu"">
<div class="accordion-group">
<div class="accordion-heading">
<a data-parent="#menu" href="@Url.Action("Index", "Home", new { area = ""})"> Home
</a>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#menu" href="#ServiceSublist" > 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" > Services</a>
因为 href 指向它需要的#ServiceSublist。我怎样才能使该行打开一个新窗口?我尝试过使用 onclick="",但这确实弄乱了菜单并将实体添加到菜单中(我不想要它。我只想打开页面并保持子列表展开)。
注意:这里的源码是我使用的修改版,但大体思路是一样的