JQuery баян в IE 8? Обходной путь? - PullRequest
8 голосов
/ 22 июня 2010

Чтобы увидеть эту ошибку аккордеонной анимации, перейдите на http://hopplayground.com/ с Internet Explorer 8 (IE8)

Нажмите на "Биос". Первый щелчок по пункту меню должен открыть подменю. Но это не так, ничего не появляется. Второй щелчок закрывает меню, но оставляет артефакты. Использование других меню работает правильно.

Вопрос: Что вызывает этот глюк, и есть ли способ его решить или обойти?

Я использую jQuery 1.4.2 с jQuery UI 1.8.2. Функциональность отлично работает в Firefox и Safari.

TTFN Travis

Ответы [ 5 ]

8 голосов
/ 22 июня 2010

Не уверен, в чем проблема, поэтому, если обходной путь подойдет вместо решения, у меня будет работать страница в IE7, поэтому вы можете добавить следующий метатег в свой документ <head>:

  <meta http-equiv="X-UA-Compatible" content="IE=7" />

Это переведет IE8 в режим совместимости IE7.Использование этого тега уменьшает проблемы между браузерами.

4 голосов
/ 21 июня 2012

Просто подумал, что я бы скинул свои два цента. Исходя из ответа mVChr, вы могли бы использовать:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Если установить его на грани, это заставит IE использовать новейший доступный механизм рендеринга.У меня была та же проблема, и это было для меня исправлением.

Этот веб-сайт парней говорит об этом больше, если вы ищете дополнительную информацию:

http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-compatible-situation

1 голос
/ 07 января 2011

На основании ответа RikawaS ...

На ваших заголовках для аккордеона только , поместите следующий код CSS:

.accordionHeader {display: table;ширина: 100%;}

Если вы обнаружите, что заголовки все еще прыгают при наведении на них курсора, используйте верхнюю границу, используя сплошной цвет, а не поля и отступы.Конечно, это работает только для дизайнов поверх однотонных цветов (цвет границы должен соответствовать цвету фона).Вот пример:

.accordionHeader {border-top: 10px solid #FFFFFF;}

Это исправит IE8!Мне потребовался год, чтобы выяснить это.

1 голос
/ 21 октября 2010

Вы можете добавить стили к аккордеону как: .accordion {display: table} из-за ie есть некоторая проблема с display: inline, который использует jquery ...

0 голосов
/ 29 августа 2013

Я получил это из другого поста:

Вот ссылка на него: Почему не включается секция аккордеона jQuery в IE 8?

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

, например, если у вас есть это:
<h3>a header</h3>
<div>some content</div>
<h3>another header</h3>
<div>some more content</div>

это будет работать, ноэто не будет:

<h3>a header</h3>
<div>some content</div>
<span>extra stuff</span>
<h3>another header</h3>
<div>some more content</div>

Это все будет внутри любого элемента, который вы вызываете .accordion () на.

...