У вас это есть. Это работает для меня:
$('#div0').bind('accordionchange', function(event, ui) {
addMessage("change");
if (typeof ui.oldHeader != "undefined") {ui.oldHeader.css({'background': 'Pink'});}
if (typeof ui.oldContent != "undefined") { ui.oldContent.css({'background': 'White'}); }
if (typeof ui.newHeader != "undefined") {ui.newHeader.css({'background': 'Yellow'}); }
if (typeof ui.newContent != "undefined") { ui.newContent.css({'background': 'LightGreen'}); }
});
Когда я открываю div, заголовок для открытого div получает желтый bg, а контент получает зеленый bg. Только что закрытый заголовок становится розовым. Вам нужно проверить на undefined
, потому что при закрытии div и открытии другого newHeader / Content не определен. Аналогично, при открытии div, когда все ранее были закрыты, oldHeader / Content не определен.
рабочий пример: http://jsbin.com/arebi4/4
Я понял это, запустив страницу в отладчике (работает либо отладчик Firebug, либо IE8 F12) и взломав функцию accordionchange.