Update
Я делаю это сообщество wiki по трем причинам:
- Я не чувствую, что получил окончательный ответ, но
- Я давно не нуждаюсь в ответе, потому что я перевернул свою собственную функцию аккордеона
- Этот вопрос получает массу просмотров, поэтому ясно, что многие люди по-прежнему заинтересованы.
Итак, если кто-то хочет изменить/уточнить этот вопрос и сделать его окончательным руководством, будь моим гостем.
Я работаю над страницей с помощью jQuery элемента интерфейса аккордеона. Я смоделировал свой HTML на этом примере, за исключением того, что внутри элементов <li>
у меня есть некоторые неупорядоченные списки ссылок. Вот так:
$(document).ready(function() {
$(".ui-accordion-container").accordion(
{active: "a.default", alwaysOpen: true, autoHeight: false}
);
});
<ul class="ui-accordion-container">
<li> <!-- Start accordion section -->
<a href='#' class="accordion-label">A Group of Links</a>
<ul class="linklist">
<li><a href="#" onclick="location.href='http://example.com'; return false;">Example Link</a></li>
<li><a href="#" onclick="location.href='http://example.com'; return false;">Example Link</a></li>
</ul>
<!--and of course there another group -->
Проблема: IE Анимация воняет
Несмотря на то, что IE7 прекрасно анимирует меню аккордеона для документации, он имеет проблемы с моим. В частности, одно меню аккордеона на странице движется рывком и имеет вспышки содержимого. Я знаю, что это не проблема CSS, потому что то же самое происходит, если я не включаю файлы CSS.
В другом меню аккордеона на странице откроется первый раздел, который вы нажмете, и после этого не откроется ни один из них.
Обе эти проблемы специфичны для IE, и оба исчезают, если я использую опцию animated: false
. Но я бы хотел сохранить анимацию по умолчанию slide
, так как она помогает пользователю понять, что делает меню.
Есть ли другой способ?