我有一个手风琴菜单,我正在努力完成以下任务:
单击父项时,会出现一个子菜单并打开我指定的站点。 单击子菜单项后,此页面加载并且子列表保持扩展
我已完成后者,但我不确定如何让手风琴父节点打开一个新网站。
代码如下:
<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 =“”,但这确实搞砸了菜单并将实体添加到菜单中(我不想要..我只想打开页面并保持子列表扩展)。
注意:这里的来源是我正在使用的修改版本,但一般的想法是相同的
答案 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/");
});
});