Итак, у меня есть аккордеон jQuery, и в областях контента я создал несколько псевдо-флажков с использованием изображений. Это прекрасно работает во всех браузерах, кроме IE 6/7 (который, к сожалению, мне приходится поддерживать). Что происходит, когда я переключаю закрытие/открытие раздела, флажки появляются до того, как содержимое будет полностью открыто с помощью анимации. Один из вариантов — отключить анимацию для IE, но я бы предпочел этого не делать. Вместо этого я надеялся, что есть способ показать/скрыть флажки с помощью функции change/changestart. Однако, похоже, для этого мне нужно выяснить в функции changestart, собирается ли содержимое расширяться или вот-вот рухнет. Если он рушится, мне нужно будет скрыть флажки до того, как начнется анимация. Точно так же в функции изменения (та, которая выполняется после завершения) мне нужно будет увидеть, было ли содержимое открыто или закрыто. Если он был открыт, то мы хотим показать флажки внутри него. Вот что я сейчас пытаюсь сделать, но все, что он может сделать, это скрыть это, и это всегда так, поэтому я думаю, что основывать его на классе .ui-accordion-content-active не получится:
$("#filter_accordion").accordion({
header: "> div > h3",
autoHeight: false,
collapsible: true,
active: false,
change: function(event, ui) {
if (ui.newContent.hasClass(".ui-accordion-content-active")) ui.newContent.find(".checkbox").show();
},
changestart: function(event, ui) {
if (!(ui.newContent.hasClass(".ui-accordion-content-active"))) ui.newContent.find(".checkbox").hide();
}
});
Любая помощь приветствуется!