0

我有一个树形菜单。

回发后,如何在单击链接后保持此菜单打开?

Obs:我正在使用 ASP.NET C#

你能帮忙吗?

jQuery(".menu li").on('click', function (e) {
    e.stopPropagation();

    if (jQuery(this).children().prop("tagName") == "A") {
        jQuery(".menu li a").parent(".item-selected").removeClass('item-selected').addClass('item');
    }

    if (jQuery(this).hasClass('item')) {
        jQuery(this).removeClass('item').addClass('item-selected');
    }

    else if (jQuery(this).hasClass('item-selected')) {
        jQuery(this).removeClass('item-selected').addClass('item');
    }

    jQuery(this).children('ul').slideToggle();
});

请检查这个小提琴:http: //jsfiddle.net/fzy48/8/

4

1 回答 1

0

如果该链接是指向单独页面的实际 URL 链接,那么您就不能这样做。jQuery 仅适用于您所在的页面。另一方面,如果你想管理看起来像那样的东西,你可以通过一些小技巧和一些服务器端的动态帮助来管理。基本上,您需要将要保留的状态(树形菜单的状态,无论详细程度如何)传递给服务器,然后将相同的信息反弹到下一页。然后该页面将其作为一组动态生成的 javascript var 调用构建到页面中。然后,您在页面加载中放置一个 jQuery 函数来查找这些变量,并适当地设置菜单。因此,当您进入下一页时,菜单会打开到您离开的位置。

于 2013-03-13T20:10:11.317 回答