Аккордеон jQuery закрыт при загрузке - PullRequest
2 голосов
/ 16 февраля 2011

Как я могу закрыть виджет аккордеона при загрузке страницы?Это код, который я использую:

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

Также, это может быть неважно, но div аккордеона находится внутри div диалогового окна.

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011

Параметр active, установленный на false , должен (в соответствии с документами ) вызывать свертывание меню при загрузке страницы (хотя для этого требуется * 1007)* (который у вас уже есть).

Если это не входит в $(window).load() или $(document).ready(), то его необходимо заключить в один из них, если равно затем завернутый без демонстрации (возможно JS Fiddle или JS Bin ?) трудно предположить, что может происходить или идти не так.

Остаток отJavaScript (кроме вызова к .accordion() выполняется? Если нет, то где-то может быть ошибка JS. Возможно, стоит прогнать его через JS Lint , чтобы быть уверенным.

0 голосов
/ 02 октября 2012

Значение индекса может быть логическим или целым числом

<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" />

К вашему сведению, скрытое поле должно сохранять сохранения аккордеонов открытыми междупостбэки

...