GIF-загрузчик по центру как верхний слой - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть форма php. После отправки этой формы, если все данные верны, выполняется сценарий Python, который занимает 5-10 секунд. Для этого периода ожидания мне бы хотелось, чтобы в середине экрана отображался индикатор выполнения (.gif). Если бы я также мог «затушить» фон, чтобы индикатор выполнения был похож на верхний слой, а фон - на задний слой, это было бы здорово.

Спасибо.

1 Ответ

2 голосов
/ 18 сентября 2009

Используете ли вы какие-либо библиотеки javascript, такие как jQuery? Я полагаю, что в любой из библиотек будет около дюжины плагинов лайтбоксов. Даже если вы не хотите использовать библиотеку, вы можете взглянуть на их код и вместо отображения DIV просто отобразить свой gif, если вы понимаете, о чем я.

Есть даже некоторые плагины, созданные специально для этой цели, например, плагин BlockUI для jQuery.


Основной алгоритм для выполнения того, что вы хотите, выглядит следующим образом:

  1. Запустить Ajax-запрос
  2. Отображение полупрозрачного темного изображения по всей странице с анимированным GIF в середине.
  3. Слушайте ответ Ajax
  4. Удалите изображение оверлея и загрузчика.

Полагаю, у вас уже есть шаги 1 и 3, все в порядке. Шаг 4 легко-peasy. Шаг 2, однако, не так прост, но все же не должен быть слишком сложным. Я не мог сказать вам код, чтобы сделать это сам, так как я только использовал плагины лайтбокса в прошлом. Посмотрите на Google для «простой лайтбокс» или что-то в этом роде, так как все, что вы действительно хотите, это самые основные функции. В этом блоге рассказывается о лайтбоксе только для CSS , который станет хорошей отправной точкой для создания стиля наложения.

...