jquery аккордеонные разделы не открывается - PullRequest
2 голосов
/ 31 августа 2011

У меня есть jquery аккордеон на сайте, НО он вроде не работает >>, когда браузер загружает страницу, гармошка выглядит хорошо (с открытым одним первым разделом), НО, когда я нажимаю на какой-то другой раздел, первый раздел закрывается и ни один из разделы открываются, так что все они закрыты! Когда я перезагружаю страницу, этот цикл начинается с самого начала. Вот ссылка на сайт, нажмите «Pakalpojumi», чтобы увидеть этот аккордеон. Вот HTML-код аккордеона:

<div id="accord">

                <h3><a id="gr" href="#">Griezšana</a></h3>
                <div> 
                    <p>
                    max griešanas garums: 2500mm </br>max loksnes biezums: 4mm
                    </p>
                </div>
                <h3><a id="ur" href="#">Urbšana</a></h3>
                <div> 
                    <p>
                    Mēs piedāvājam 3 dažādu veidu stacionārie urbji
                    </p>
                </div>
                <h3><a id="lo" href="#">Locīšna</a></h3>
                <div> 
                    <p>
                    max loksens garums: 2000mm, </br>max spiešanas spēks: 65 t 
                    </p>
                </div></div>

Добавление аккордеона к аккордеону:

$('#accord').accordion();

Кто-нибудь знает, что может быть не так?

1 Ответ

4 голосов
/ 31 августа 2011

Код работает сам по себе, см. здесь . При ближайшем рассмотрении вашего сайта, есть стиль, который помещается в активный div при каждом нажатии на заголовок (я использую chrome, он отображается как element.style в своих свойствах css), который устанавливает высоту padding-top и отступы до 0px. Если я отключу эти стили, выбранный div выглядит нормально. Вы случайно добавляете эти стили при каждом нажатии?

Редактировать Хорошо, я нашел вашу проблему ... Вторая вкладка здесь выглядит знакомо? Согласно этой записи это потому, что когда вы инициализируете свой аккордеон, его родительский элемент скрывается (через ваш класс 'off'). Таким образом, вы можете обойти эту проблему, определив высоту для ваших div'ов после инициализации вашего аккордеона следующим образом:

$('#accordion').accordion();
$('#accordion >div').css('height', '300');

... или путем инициализации вашего аккордеона, как только будет показан его родитель.

...