Аккордеон jQuery: проблемы анимации IE

dis является вашим другом, если исходный код недоступен:

>>> import dis
>>> def foo(arg1,arg2):
...     #do something with args
...     a = arg1 + arg2
...     return a
...
>>> dis.dis(foo)
  3           0 LOAD_FAST                0 (arg1)
              3 LOAD_FAST                1 (arg2)
              6 BINARY_ADD
              7 STORE_FAST               2 (a)

  4          10 LOAD_FAST                2 (a)
             13 RETURN_VALUE
17
задан 3 revs 11 September 2009 в 21:58
поделиться

14 ответов

Просто изменение 'автовысота: ложь' к 'автовысоте: верный'.

0
ответ дан 30 November 2019 в 11:32
поделиться

Я чувствую Вашу боль! Я недавно прошел смешной поиск и устранение неисправностей, где я порвал все из основной страницы и блока макета страницы блоком (это было на самом деле в SharePoint), непрерывно сокращая страницу.

конечный результат закончил тем, что был не наличие типа документа для документа HTML (некоторый разработчик удалил его). Отсутствие doctype означало, что IE 7 работал в режиме причуд, и встроенный CSS, испускаемый Аккордеоном JQuery, вел себя броский.

Рассматривают добавление:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Наверху Вашего masterpage или документа HTML (если уже нет определенного doctype).

существует на самом деле целый сайт, выделенный поведению Режима Причуд. Можно проверить статью приблизительно Режим Причуд здесь . Я записал сообщение , который имеет немного более окружающую информацию о поиске и устранении неисправностей.

21
ответ дан 30 November 2019 в 11:32
поделиться

Столкнулся с той же проблемой, но это зафиксировало ее для IE 6 и 7:

$().ready(function(){
  $(".ui-accordion-header").click(function() {
    $(this).next().fadeIn();
  });
)};

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

2
ответ дан 30 November 2019 в 11:32
поделиться

В опциях необходимо установить:

 navigation: true
0
ответ дан 30 November 2019 в 11:32
поделиться

Измените свои теги привязки на Теги span. Я испытывал ту же проблему, и это работало хорошо. То же идет для Тегов Div, IE бежит вприпрыжку, когда это находится в аккордеоне по некоторым причинам. Position:Absolute может также волновать IE, к вашему сведению

1
ответ дан 30 November 2019 в 11:32
поделиться

Я на самом деле избегал использования плагина аккордеона, когда я нашел это немного негибким для моих потребностей. Я нашел, что самый легкий и самый гибкий аккордеон так же прост как:

var accordion = function(toggleEl, accEl) {
    toggleEl.click(function() {
        accEl.slideToggle(function() { });
        return false;
    });
}

для Вашего примера Вы использовали бы его как это:

$(document).ready(function() {
    new accordion($("a.accordion-label"), $("ul. linklist"));        
});

можно использовать это в качестве шаблона и сборки в добавлении класса CSS, обратных вызовах и другом полезном материале, но я нашел, что в конце было намного легче сделать это этот путь, чем к dick вокруг с плагином аккордеона.

РЕДАКТИРОВАНИЕ: Пример кода с функцией обратного вызова

var accordion = function(toggleEl, accEl, callback) {
    toggleEl.click(function() {
        accEl.slideToggle(callback);
        return false;
    });
}

$(document).ready(function() {
    new accordion($("a.accordion-label"), $("ul. linklist"), function() { /* some callback */ });        
});
5
ответ дан 30 November 2019 в 11:32
поделиться

У меня похожая проблема, и я исправляю ее, добавляя этот тип документа. И он работает как в IE, так и в FF

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
2
ответ дан 30 November 2019 в 11:32
поделиться

Возникли похожие проблемы, и я заметил, что несколько человек предлагают посмотреть на doctypes. Я просто попытался просмотреть реальный сайт jQuery UI, и их демонстрационный аккордеон отлично работает в ie6, предполагая, что проблема с моим кодом (для меня больше детективной работы). Но я также заметил, что тип документа сайтов jquery.UI просто

0
ответ дан 30 November 2019 в 11:32
поделиться

Я экспериментировал с той же проблемой, и после некоторого возни я обнаружил, что если у вас есть элемент, содержащийся внутри вашего основного div с относительным позиционированием, это заставит IE открыть аккордеон «вяленый». Вот что я делал ...

<div id="accordion">

  <h3 class="oneLine">Asylum</h3>

  <div class="serviceBlockContent">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sed augue a enim convallis facilisis. Aenean eu ullamcorper nulla. Ut id urna quis augue bibendum commodo et a quam.</p>
  </div>

</div>

Я установил относительную позицию элемента H3, что привело к его поломке в IE. Надеюсь, это будет полезно.

0
ответ дан 30 November 2019 в 11:32
поделиться

У меня возникла проблема, когда div под моим заголовком в аккордеоне имел белый фон поверх синий фон страницы исчез. Иногда при наведении курсора на другой элемент заголовка он появлялся; иногда при выделении текста он тоже появлялся снова. Это было очень странно и ПРОИСХОДИТ ТОЛЬКО В IE7.

Применение масштабирования: 1; установка таргетинга только на IE7 на div ui-content исправила это.

Надеюсь, это поможет кому-то, потому что я потратил несколько часов, пытаясь отследить это.

0
ответ дан 30 November 2019 в 11:32
поделиться

Просто поменяйте autoHeight: false на autoHeight: true --> это сработало для меня, но не то, что я хочу...

Найдите, что если поставить min-height для IE7, то проблема будет решена.

0
ответ дан 30 November 2019 в 11:32
поделиться

Попробуйте использовать это:

{active: "a.default", alwaysOpen: "true", autoHeight: "false"}

вместо этого:

{active: "a.default", alwaysOpen: true, autoHeight: false}

Explorer имеет проблемы с синтаксисом такого типа.

0
ответ дан 30 November 2019 в 11:32
поделиться

Я использую JQuery 1.4 и обнаружил, что

<!DOCTYPE html>

подходит для IE6, Chrome тоже.

1
ответ дан 30 November 2019 в 11:32
поделиться

У меня была аналогичная проблема с аккордеоном в IE6 и IE7, где я не использовал структуру HTML по умолчанию для аккордеона. Как ни странно, установка горизонтального размера элементов аккордеона на определенное количество пикселей решила проблемы с анимацией аккордеона. Почему? Я не знаю. Но я заметил, что проблемы были специфичны для использования autoHeight: true, и проблемы возникли в конце анимации, когда я предполагаю, что высота элементов аккордеона сброшена. И все мы знаем, что IE не умеет делать математику.

0
ответ дан 30 November 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: