0
我有一个使用JQuery Accordion Menu进行导航的MVC项目。我想知道是否有什么办法可以修改菜单,这样,当我点击一个链接,菜单保持打开状态时,导航到下一个页面Jquery手风琴菜单 - 在浏览新页面时保持打开状态
的jQuery -
$(document).ready(function() {
//ACCORDION BUTTON ACTION
$('div.accordionButton').click(function() {
//IF THE DIV YOU CLICKED IS ALREADY OPEN, CLOSE AND REMOVE THE OPEN CLASS
if ($(this).next().hasClass('openDiv')) {
$('div.accordionContent.openDiv').slideUp('normal');
$('div.accordionContent.openDiv').removeClass('openDiv');
}
//CLOSE ANY OPEN DIVS, OPEN THE CLICKED DIV
else {
$('div.accordionContent.openDiv').slideUp('normal');
$('div.accordionContent.openDiv').removeClass('openDiv');
$(this).next().slideDown('normal');
$(this).next().addClass('openDiv');
}
});
//HIDE THE DIVS ON PAGE LOAD
$("div.accordionContent").hide();
});
HTML -
@foreach (var sport in Model.SportTypesList)
{
<div id="wrapper">
<div class="accordionButton">@sport.ToString()</div>
<div class="accordionContent">
@foreach (var coupon in Model.CurrentCoupons())
{
if (coupon.SportID.ToString().Equals(sport.ToString()))
{
<div id="bullets">></div>
@Ajax.ActionLink(@coupon.CouponName, "Index", "Home", new { couponName = coupon.CouponName, sportName = coupon.SportID.ToString() }, new AjaxOptions
{
UpdateTargetId = "coupons",
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET"
})
<br />
}
}
</div>
</div>
}
您可以在这里查看各种有状态的解决方案。 1.通过服务器2.通过cookie 3通过localStorage。每个的实现略有不同。使用1,您必须设置一个类或javascript变量,以便在新页面加载时进行读取和操作,使用2和3时,您必须查询cookie /存储并对新页面加载进行操作。 –