首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Accordion使用户单击面板保持打开状态

Accordion使用户单击面板保持打开状态
EN

Stack Overflow用户
提问于 2013-04-16 18:00:45
回答 1查看 196关注 0票数 0

当我在菜单中使用jQuery accordion时,如何在页面刷新时保持用户单击面板打开?当用户单击面板、发送请求和刷新页面时,accordion始终关闭。

这是我的代码:

代码语言:javascript
复制
$(function(){
     var icons = {
        header: "ui-icon-triangle-1-e",
        activeHeader: "ui-icon-triangle-1-s"
         }

    $("#accordion").accordion({
        heightStyle:"content",
            header:".level21",
    event:"click",
    active:false,
    collapsible:true,
    icons:icons
    });  
 });
EN

回答 1

Stack Overflow用户

发布于 2013-04-16 18:23:44

在回发期间,您应该使用Hidden Fields来维护折叠面板状态。

我不知道您使用的是哪种技术,但对于ASP.net

代码语言:javascript
复制
<asp:HiddenField ID="hidAccordionIndex" runat="server" Value="0" />


<script language="javascript" type="text/javascript">
    $(function(){
        var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val());

        $("#accordion").accordion({
            autoHeight:false,
            event:"mousedown",
            active:activeIndex,
            change:function(event, ui)
            {
                var index = $(this).children('h3').index(ui.newHeader);
                $('#<%=hidAccordionIndex.ClientID %>').val(index);
            }
        });
    });
</script>

您可以使用JQuery cookies插件here,然后设置它的值,如下所示

代码语言:javascript
复制
    change: function(event,ui) {
        var hid = ui.newHeader.children('a').attr('id');
    if (hid === undefined) {
        $.cookie('menustate', null);
    } else {
        $.cookie('menustate', hid, { expires: 2 });
    }
}

有用的文章here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16034088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档