Показать загрузку GIF в jQuery без AJAX? - PullRequest
1 голос
/ 27 сентября 2010

Я знаю, как это сделать с

$(gif).show(); 
$.post( action, data, function(result) { $(gif).hide(); } );

// using ajaxStart and ajaxStop is a better way too

Но я не знаю, как это сделать без использования почты, я попробовал

$(gif).show();
doAction();    // No post...
$(gif).hide();

Проблема в том, что покаФункция doAction запускает $ (gif) не видно .... Я тоже пробовал с таймаутами , но проблема в том, что он заканчивается до или после зависимости продолжительности doAction () ...

Ответы [ 2 ]

1 голос
/ 27 сентября 2010

Это должно работать, если все, что делает doAction(), является синхронным.

Если это не так, вам нужно будет вызвать метод hide в обратном вызове, который срабатывает при выполнении операции (что бы это ни было)отделки.

0 голосов
/ 27 сентября 2010

$ (gif) .hide () может срабатывать, когда ваша операция выполняет, например, некоторый вызов ajax (поиск), что занимает время.

Цель поставить функцию hide после функции (результата)Он вызывается только тогда, когда ваш вызов ajax возвращается с результатами.

Если вы не хотите зависеть от завершения ajax, чтобы показать или скрыть загрузчик, вы можете поместить свои результаты в слой DIV, которыйнакрывает загрузчик.(более высокий z-индекс)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...