[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрыть див при возвращении на страницу
Гость_juni
Добрый день!

Помогите составить если так можно сказать "алгоритм действий"

В index.php есть форма. При нажатии на submit данные уходят на work.php
В work.php выполняется относительно "долгоиграющая" операция (5 - 10 сек).
Следовательно юзер при нажатии кнопки submit - 5-10сек. ждет выполнения work.php и только после этого его перекидывает из index.php на work.php

Что я сделал.
При нажатии на submit у меня открывается скрытый div по центру экрана (это все в index.php) и в нем крутится анимация и надпись "пожалуйста ожидайте" после юзера перекидывает на work.php

И вроде бы все хорошо. Но если юзер решит вернуться назад (кнопка назад в браузере) он попадает на index.php а там крутится эта анимация!

Единственное до чего додумался это поставить таймер, что бы анимация вырубалась через 10 сек. Но иногда work.php работает дольше и возникает ситуация когда анимация уже открутила свои 10 сек и скрылась а work.php еще грузится.

Иногда бывает что work.php выполняет свою работу за 2 сек. и пользователь нажимает кнопку назад, возвращается на index.php а там еще 8 секунд крутится анимация.

Вобщем нужна ваша помощь.
T1grOK
Зачем ограничивать анимацию? Отправили данные, так понимаю Ajax-ом показали анимацию, получили ответ о завершении - убрали анимацию.

Есть даже простой плагин jquery blockUI.
Вставили в шаблон тег определяющий прелоадер
<img id="preload" style="display:none;" src="http://img/preload.gif" />

Указали, что хотим вызывать перед отправкой AJAX и при получении ответа
$(function(){
jQuery(document).ajaxStart(function(){
$.blockUI({ message: $("#preload")});
});

jQuery(document).ajaxStop(function(){
$.unblockUI()
});
});

Все.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Гость_juni
1.отправили форму Ajax-ом на work.php
2.начинаем показывать анимацию
3.получили ответ от work.php что все ок.
4.закрыли анимацию
5.средиректили на work.php
Это если делать по уму.

Дело в том что в моем конкретном случае так сделать нельзя (очень многое придется переделывать)

А форма то как раз отправляется стандартными методами а не Ajax-ом.

Может нужно побаловаться с фокусом вкладок?
window.onblur = function () {document.title='документ неактивен'}
window.onfocus = function () {document.title='документ снова активен'}


И выключать анимацию при потере фокуса.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.