ASP.Net - Анимация «Пожалуйста, подождите ...» для бедного Мана - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть страница, которая благодаря jQuery автоматически нажимает кнопку «Запустить отчет» при определенных условиях. Таким образом, когда пользователь переходит на страницу через меню, он ждет x секунд, и результаты возвращаются. Это прекрасно работает ...

Однако я хочу добавить анимацию, потому что некоторые пользователи не знают, что происходит, и я также хотел бы просто показать счетчик. Приложение еще не «Ajaxified» и может никогда не быть. Поэтому я подумал о том, как это сделать беднякам.

У меня есть div, в котором есть текст и изображение. У этого div есть класс для того, что просто делает display: none; Тот же jQuery, который щелкает по кнопке. У меня также есть метод .toggleClass, чтобы теперь показывать div.

Это прекрасно работает, И отчет запускается и в конечном итоге возвращает данные, и, поскольку в этот момент страница обновляется, div снова скрывается, и все в порядке.

Моя проблема в том, что изображение показывает, но не анимирует. Я пытался поставить его до щелчка, надеясь, что это произойдет, и начнёт свое дело. Затем даже щелчок, чтобы начать ожидание.

Могу ли я что-нибудь сделать, чтобы заставить Gif оживить?

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Используете ли вы jQuery ajax метод для запроса отчета?Если так, то есть функция, встроенная в стандартный метод ajax.

$.ajax({
    url: "/webservices/taskHelper.asmx/ArchiveTask",
    data: '{taskId: 5}',
    beforeSend: function () {
        $("#spinner").show();
    },
    error: deft.ajaxError,
    success: function (data) {
        $("#spinner").hide();
    }
});

Функция beforeSend будет выполняться при щелчке по ссылке и продолжаться до тех пор, пока ответ не будет получен с сервера.Я использую функцию beforeSend для отображения моего скрытого div, содержащего анимированный GIF.Работает просто отлично. jQuery ajax docs

1 голос
/ 03 ноября 2010

Отправка формы останавливает все действия на странице, включая анимацию в формате GIF.

Обходной путь - это разместить вашу форму на скрытом Iframe.Конечно, вам понадобится iframe, чтобы «разбудить» главную страницу и показать ее содержимое там, как только появятся результаты.

...