Я использую поле со списком, чтобы выбрать один из четырех школьных домов.
После того, как выбор сделан, я использую jQuery для запуска нескольких функций.
Одна из обязательных функций использует собственные пользовательские API нашего VLE. Ограничение на конкретный API, который я использую, означает, что мы можем получать информацию только для 100 пользователей за вызов. Таким образом, для школы с 1300 я должен выполнить 26 звонков (по одному звонку на каждую фамилию).
Это работает достаточно хорошо для того, как часто это потребуется. У меня есть загрузочный GIF, который сохраняется до тех пор, пока информация не будет возвращена.
В FireFox это работает так, как задумано, но в Internet Explorer РЕДАКТИРОВАТЬ: ВЕРСИЯ 8 раскрывающийся список просто останавливается до тех пор, пока информация не будет получена.
Есть ли способ исправить это легко? Мне не особенно нравится переделывать большую часть кода - эта функция не будет использоваться в огромных количествах.
widget.onLoad = function(){
HPAnalysisObject.init();
$('select#house_picker').change( function() {
var val = $(this).val();
val = val.split(",");
var label = val[0];
var house_id = val[1];
HPAnalysisObject.initHPTotals( house_id, label );
} );
}
HPAnalysisObject.initHPTotals = function(house_id, label) {
HPAnalysisObject.id_list = [];
$('div#display').html('<img src="/user/74/168586.gif" alt="LOADING..." />');
for (var i = 1; i <= 26; i++) {
initial = String.fromCharCode(64 + i);
Frog.API.get("users.search", {
"params": {"surname": initial, "group": house_id},
"onSuccess": HPAnalysisObject.addUsers
});
}
HPAnalysisObject.setLabel(label);
HPAnalysisObject.getHPTotals();
};
Имеются дополнительные функции, но именно этот вызов Frog.API.get замедляет все (он делает 26 вызовов ajax ...:).
Так что, в общем, я надеюсь, что будет что-то, что я смогу сделать до этого вызова, что позволит комбинированному блоку вернуться в невыпущенное состояние и, таким образом, показать мой загружаемый GIF.
Internet Explorer ^^

FireFox ^^

Большое спасибо.