jQuery手风琴在加载时关闭

时间:2011-02-16 15:27:00

标签: javascript jquery jquery-ui-accordion

如何在页面加载时关闭手风琴小部件?这是我正在使用的代码:

//Accordion
    $( ".accordion" ).accordion({
        autoHeight: false,
        navigation: true,
        collapsible: true,
        active: false
    });

此外,它可能并不重要,但手风琴div是在对话框div内。

2 个答案:

答案 0 :(得分:3)

设置为active false选项(根据docs)导致菜单在页面加载时折叠(尽管具体需要collapsible: true(您已经拥有)。

如果这不在$(window).load()$(document).ready()中,那么它需要包含在其中一个中;如果 如此包装然后没有演示(可能是JS FiddleJS Bin?),很难说明可能发生的事情或出错的地方。

JavaScript的剩余部分(除了.accordion()的调用之外)是否正在执行?如果不是,可能在某处出现JS错误。可能值得通过JS Lint运行它来确定。< / p>

答案 1 :(得分:0)

索引值可以是布尔值或整数

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


</script>

请记住以小于0的索引开始

    <asp:HiddenField ID="AccordionIndexHidden" runat="server" Value="-1" />

仅供参考,隐藏的字段是保持手风琴在回发之间保持打开状态