Я использую fadeToggle, чтобы показать «занятое» изображение во время вызова ajax. Это отлично работает, когда вызов ajax занимает секунду или два. Но когда вызов ajax занимает несколько секунд, загруженное изображение не отображается до тех пор, пока в конце вызова ajax не появится - похоже, это происходит во всех браузерах.fadeToggle во время длинного вызова Ajax
Вот изображение:
<img id="globalBusy" class="hide" src="/Content/Images/globalbusy-live.gif" alt="Busy" title="Busy" width="52" style="display: none;"></a>
Вот Аякса вызов:
$("#globalBusy").fadeToggle(200, "linear");
$.ajax({
url: GetData(),
type: "POST",
data: JSON.stringify(requestModel),
datatype: "json",
contentType: "application/json; charset=utf-8",
timeout: 60000,
success: function (model) {
$("#globalBusy").fadeToggle(400, "linear");
}
})
Я попытался освежить образ, но он не работает. Он по-прежнему отображается только правильно, когда вы попадаете в функцию успеха, поэтому вы видите его только кратко.
спасибо, что проблема заключается в том, что фрагмент кода я дал вызывается из события нажатия кнопки, поэтому она не может действительно зайдите в готовую документ. Но весь DOM должен быть загружен, потому что страница полностью загружена. –
Все, что я могу вам сказать, это то, что сценарий, который вы описываете, по-видимому, заключается в том, что первый fadeToggle не работает (перед вызовом ajax), но fadeToggle внутри ajax-вызова * работает *. Приведенный выше пример работает каждый раз. Нужно будет больше узнать о вашем коде для комментариев. – mccannf