Ошибка автокоррекции Accordion JQuery

Я использую JQuery Accordion. У меня есть эта страница здесь: http://www.hauppauge.com/site/support/support_colossus.html#tabs-6

Что происходит, так это то, что Auto Height занимает некоторое время для загрузки, прежде чем он загрузится, над содержимым будет много белого пространства. Когда он, наконец, загрузит высоту, будет расширяться дольше, а затем привязывается к правильной высоте содержимого. Есть ли способ для этого быть бесшовным? Я просто хочу, чтобы можно было щелкнуть вкладку "Аккордеон" и плавно перейти на точную высоту содержимого.

Обновление 08/08/2014:

Используйте heightStyle: "content", если вы используете версия 1.9 и выше ( ответ)

Используйте autoHeight: false для 1,8 и ниже (ответ iappwebdev)

Ответ 1

Итак, почему бы вам просто не установить autoheight в false?

$( ".selector" ).accordion({ autoHeight: false });

http://jqueryui.com/demos/accordion/#option-autoHeight

ИЗМЕНИТЬ

Глядя на ваш комментарий:

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

Вы инициализируете аккордеон, а затем добавляете к нему дополнительные опции. Зачем ты это делаешь? Значение по умолчанию для autoheight равно true, поэтому каждая вкладка получает фиксированную высоту. Поместите все параметры за один вызов:

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



ИЗМЕНИТЬ

Относительно вашего второго комментария:

Посмотрите http://jqueryui.com/demos/accordion/#option-header. Вы можете видеть, что опция h3 установлена ​​по умолчанию, поэтому вам не нужно ее устанавливать в вашем вызове.

И вы получите ответ на свой вопрос здесь: Аккордеон JQuery не работает без тегов h3.

Очень важно пройти через jQuery API, чтобы улучшить свои знания. Для jQuery API перейдите в http://api.jquery.com/, а для jQuery UI перейдите в http://jqueryui.com/demos/. Если у вас есть еще какие-то вопросы, не стесняйтесь спрашивать после, что вы пытались решить вашу проблему, а после вы провели некоторое исследование.

Если все это ответило на ваш вопрос, отметьте его как правильный ответ.

Ответ 2

вы должны использовать

$("#accordion").accordion({ 

heightStyle: "content" 

});

Он будет устанавливать высоту в соответствии с вашим контентом. и не будет использовать пустое пространство как высоту.

Ответ 3

$("#accordion").accordion({ 

heightStyle: "content" 

});

Это работает в новой версии это сработало для меня!

Ответ 4

Это сработало для меня.

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

Ответ 5

Если ничего не работает до сих пор, просто измените размер jQuery Accordion contentElement - он называется data-content по умолчанию, если вы не настроили его по-другому:

$('.accordion').find('[data-content]').resize();

Это также будет работать, если вы хотите изменить размер Аккордеона после динамического загрузки данных.