JQuery Аккордеонные проблемы с, например, 6 - PullRequest
7 голосов
/ 07 апреля 2009

Я реализовал аккордеон Jquery на одной из моих страниц, используя следующие опции

$("#accordion").accordion({ header: "h3", alwaysOpen: false, active: false, autoHeight: false});

Это прекрасно работает в Firefox и в ie7 ( теперь, когда я обновился до v1.7 jquery ui )

Однако в ie6 почти все содержимое каждого аккордеона исчезает (у меня остается один тег <select>, показывающий ?!)

Если я изменю параметр AutoHeight на true в соответствии с этим ответом , то все снова будет хорошо, за исключением того, что я теряю приятное преимущество, потому что аккордеоны имеют хороший размер, а у некоторых из них масса белого пространство в них.

Кто-нибудь знает исправление, чтобы у меня все еще было AutoHeight = false?

Ответы [ 5 ]

14 голосов
/ 27 июля 2009

Добавление .ui-accordion-content {zoom: 1; } чтобы мой CSS исправил проблему для меня:

<link type="text/css" href="css/dark-hive/jquery-ui-1.7.2.custom.css" rel="stylesheet" />   
<style type="text/css">
        .ui-accordion-content{ zoom: 1; } 
</style>
6 голосов
/ 20 июля 2009

Столкнувшись с той же проблемой, я нашел решение, которое работает во всех браузерах без необходимости изменения параметра autoHeight.

просто добавьте класс к вашему CSS так:

* html .clearfix { height: 1%; }

А затем добавьте его в div содержимого после h3 (например:)

<h3>Header</h3>
<div class="clearfix">Whatever</div>

Проблема на самом деле в IE6 с невидимым отображением текста. Я проверил его на контенте, содержащем неупорядоченные списки и сложные вложенные div-ы и многое другое, все работает нормально. Дайте мне знать, если это сработало!

1 голос
/ 14 декабря 2009

Проблема, похоже, связана с ошибкой рендеринга IE6. Это решило проблему для меня.

// This is required for IE6.
if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)<7)
    jQuery('#accordion *').css('zoom', '1');
1 голос
/ 08 мая 2009

У меня та же проблема. Аккордеон прекрасно работает с ul, поэтому я нашел эту статью о том, как сделать стол без использования.

http://mindrulers.blogspot.com/2008/03/create-table-using-css.html

Надеюсь, это поможет.

0 голосов
/ 15 июня 2009

Мой обходной путь для этого состоял в том, чтобы использовать autoHeight true для IE6 и false для всех других браузеров.

var autoHeight = false;
if($.browser.msie && parseFloat($.browser.version) <= 7.0) { autoHeight = true; }
$("#accordion").accordion({ autoHeight: autoHeight });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...