Отображение рабочего текста пользователю во время работы функции Jquery

У меня есть функция Jquery, которая передает файлы из одного места в другое. Иногда из-за размера файла функция занимает много времени, и я не могу сообщить пользователю, что она все еще работает. Как разместить что-то на экране до завершения функции, чтобы пользователь знал, что система все еще работает, и не будет обновлять или закрывать страницу?

 function transferfile(sourceurl, desturl)
  {
   //do the transfer

   }

  $.when( transferfile() ).done(function() {
   alert("completed");
 });

person user388969    schedule 18.12.2018    source источник


Ответы (2)


Спиннер - это то, что вам нужно. Я нашел похожую тему. Посмотрите решение здесь Как реализовать изображение счетчика jQuery в запросе AJAX

person sagar1025    schedule 18.12.2018
comment
Это не сработало, это обычная функция, а не ajax, но внутри она вызывает несколько других функций ajax. Когда я добавляю счетчик в начале кода, не скрывая его внизу, он отображается, но если я добавляю функцию скрытия в конце функции, она никогда не отображается, и функция все еще работает. - person user388969; 08.01.2019
comment
вот ссылка js fiddle jsfiddle.net/kdailearning/7defwaxp/5 код слишком большой, чтобы показать здесь. Я добавил комментарий для отображения div или любого изображения, но поскольку функция асинхронная и вызывается несколько раз. Он выполняет все, и рабочее изображение не отображается - person user388969; 13.01.2019

Сначала скачайте gif-спиннер

Затем в начале функции поместите этот код:

$('#ваш-результат-контейнер').append('')

Когда ваша функция заканчивается

$('#ваш-результат-контейнер').empty(); ${'#ваш-результат-контейнер').append('Успех!');

person user3404390    schedule 18.12.2018