Jquery手风琴防止回发后菜单崩溃
本文关键字:菜单 崩溃 手风琴 Jquery | 更新日期: 2023-09-27 18:01:30
我有一个菜单,它是一个嵌套的ListView控件,在我的主页上。我使用下面的Jquery将这个ListView变成一个手风琴。问题是,当我点击菜单标题,它会导致回发。因此,子菜单闪烁,并且完成后,它重新加载页面和菜单(关闭Active子菜单)。
$('.head').each(function () {
var $content = $(this).closest('li').find('.content');
$(this).click(function (e) {
// e.preventDefault();
$content.not(':animated').slideToggle();
});
});
简单地说,有几种方法可以在回发期间保持状态。两个最简单的是使用POST和GET,即ViewState或某种查询字符串。
我个人建议使用隐藏字段,假设你想让第三个项目在加载时打开,那么你可以使用像
这样的内容<input id="hidMenuItem" type="hidden" value="3" />
然后使用jQuery
$(document).ready(function {
var itemIndex = $("#hidMenuItem").val();
$("li .content:nth-child(" + itemIndex + ")").slideToggle();
});
要在回发之前保存打开的项目,请在click
事件
var itemIndex = $("li .content").index(this);
$("#hidMenuItem").val(itemIndex);
这是未经测试的,但这是一个想法。希望对大家有所帮助