Кнопка переключения JQuery и проблема с аккордеоном - PullRequest
1 голос
/ 16 августа 2010

У меня есть «Меню», которое должно открывать слайд с меню «гармошка».

Когда я добавляю значение hide () (в JS) или «hidden» (в CSS) для div, который содержит аккордеон, аккордеон перестает работать должным образом. Он не просматривает все содержимое в нем, когда вы нажимаете на раздел аккордеона, после открытия div с аккордеоном с меню btn.

Причина, по которой я скрываю div с аккордеоном, заключается в том, что он должен быть закрыт до тех пор, пока вы не нажмете меню.

Код для Аккордеона:

<script type="text/javascript">
    $(function() {
    //  $('.effect').hide();
        $("#moduleMenu1, #moduleMenu2").accordion({collapsible: true, active: false});
    });
</script>

Код для меню btn:

<script type="text/javascript">
    $(function() {
    $(".moduleMenuBtn").click(function() {
        var effect = $('slide').val();
        var options = {};
        $(this).parent().next(".effect").toggle(effect,options,500);
        return false;
    });
});
</script>

Заметьте, что скрипт для меню btn не "скользит", открывая div с гармошкой, он просто высовывается без анимации "slide"?

HTML

<div class="effect">
                    <div id="moduleMenu1">
                        <h3><a href="#">Section1</a></h3>
                        <div>
                          <p>Some Content</p>
                        </div>
                    </div>
                  </div>

1 Ответ

0 голосов
/ 16 августа 2010

Первая часть верна

$("#moduleMenu1, #moduleMenu2").accordion({
      collapsible: true, active: false
});

Если вы запустите ее только с тем, что он показывает, что все разделы разрешено закрывать и ни один из них не открыт.

Проблема в том, что вы запускаете событие click для кнопки меню, которая открывает содержимое для #moduleMenu1 open.

Также

$('.effect').hide();

Фактически скрывает весь раздел меню и содержимого, а не то, что вам нужно.

...