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
Просто изменение 'автовысота: ложь' к 'автовысоте: верный'.
Я чувствую Вашу боль! Я недавно прошел смешной поиск и устранение неисправностей, где я порвал все из основной страницы и блока макета страницы блоком (это было на самом деле в 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).
существует на самом деле целый сайт, выделенный поведению Режима Причуд. Можно проверить статью приблизительно Режим Причуд здесь . Я записал сообщение , который имеет немного более окружающую информацию о поиске и устранении неисправностей.
Столкнулся с той же проблемой, но это зафиксировало ее для IE 6 и 7:
$().ready(function(){
$(".ui-accordion-header").click(function() {
$(this).next().fadeIn();
});
)};
я думаю, что это делает скользящий взгляд более хорошим так или иначе...
Измените свои теги привязки на Теги span. Я испытывал ту же проблему, и это работало хорошо. То же идет для Тегов Div, IE бежит вприпрыжку, когда это находится в аккордеоне по некоторым причинам. Position:Absolute может также волновать IE, к вашему сведению
Я на самом деле избегал использования плагина аккордеона, когда я нашел это немного негибким для моих потребностей. Я нашел, что самый легкий и самый гибкий аккордеон так же прост как:
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 */ });
});
У меня похожая проблема, и я исправляю ее, добавляя этот тип документа. И он работает как в IE, так и в FF
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
Возникли похожие проблемы, и я заметил, что несколько человек предлагают посмотреть на doctypes.
Я просто попытался просмотреть реальный сайт jQuery UI, и их демонстрационный аккордеон отлично работает в ie6, предполагая, что проблема с моим кодом (для меня больше детективной работы). Но я также заметил, что тип документа сайтов jquery.UI просто
Я экспериментировал с той же проблемой, и после некоторого возни я обнаружил, что если у вас есть элемент, содержащийся внутри вашего основного 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. Надеюсь, это будет полезно.
У меня возникла проблема, когда div под моим заголовком в аккордеоне имел белый фон поверх синий фон страницы исчез. Иногда при наведении курсора на другой элемент заголовка он появлялся; иногда при выделении текста он тоже появлялся снова. Это было очень странно и ПРОИСХОДИТ ТОЛЬКО В IE7.
Применение масштабирования: 1; установка таргетинга только на IE7 на div ui-content исправила это.
Надеюсь, это поможет кому-то, потому что я потратил несколько часов, пытаясь отследить это.
Просто поменяйте autoHeight: false
на autoHeight: true
--> это сработало для меня, но не то, что я хочу...
Найдите, что если поставить min-height
для IE7, то проблема будет решена.
Попробуйте использовать это:
{active: "a.default", alwaysOpen: "true", autoHeight: "false"}
вместо этого:
{active: "a.default", alwaysOpen: true, autoHeight: false}
Explorer имеет проблемы с синтаксисом такого типа.
Я использую JQuery 1.4 и обнаружил, что
<!DOCTYPE html>
подходит для IE6, Chrome тоже.
У меня была аналогичная проблема с аккордеоном в IE6 и IE7, где я не использовал структуру HTML по умолчанию для аккордеона. Как ни странно, установка горизонтального размера элементов аккордеона на определенное количество пикселей решила проблемы с анимацией аккордеона. Почему? Я не знаю. Но я заметил, что проблемы были специфичны для использования autoHeight: true, и проблемы возникли в конце анимации, когда я предполагаю, что высота элементов аккордеона сброшена. И все мы знаем, что IE не умеет делать математику.