Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: для новичков > Функция по времени выполняемая |
Автор: Serious2008 26.1.2012, 19:38 | ||
Здравствуйте. Помогите реализовать или дайте ссылок куда читать уже надоело гуглить. Мне нужно чтобы во время начала отправки формы вылазило маленькое окошко или что-то подобное, с одной надписью. И это окошко либо 1.5 минуты весело, либо уже после успешной отправки формы(форма может отправить не успешно и вернуть 504) убрать это окошко. В коде я пометил месте где надо вызывать и где надо прерывать. Но я блин не могу понять во первых как это окошко выводить. А во вторых как его выводить на время.
|
Автор: Krotlev 26.1.2012, 22:15 | ||||
|
Автор: Serious2008 27.1.2012, 01:18 |
Krotlev, что-то не появляется ничего. |
Автор: Fynivx 27.1.2012, 05:46 |
Не потому ли, что функция передачи всегда возвращает false? --- А еще loadingTimeout, имхо, не там объявлен, и почему в startLoading он = null - я вообще хз. |
Автор: ksnk 27.1.2012, 07:12 |
Что за функция такая? |
Автор: $дмитрий 27.1.2012, 16:25 |
ksnk, из этого http://jquery.malsup.com/form/ |
Автор: ksnk 27.1.2012, 16:51 |
$дмитрий, Да я не про то, что можно погуглить названия функций и нарыть самый подходящий, а про |
Автор: Serious2008 27.1.2012, 18:05 |
ksnk, аяксСубмит всё нормально делает свою работу. Тут проблема именно в появляющемся сообщении |
Автор: ksnk 27.1.2012, 19:14 |
Serious2008, А! Она была в первом посте, sorry, не увидел ![]() |
Автор: Serious2008 27.1.2012, 19:45 | ||
All Подскажите пожалуйста как ту функцию поправить. А то я в яваскриптах вообще ноль.
вообще вот не о чём, не там, а где его нужно объявить если не секрет. Как я понимаю нужно не null а 90 * 1000 повесить? |
Автор: Krotlev 28.1.2012, 13:39 | ||||||||||||
Смысл: 1. Элемент, отображающий загрузку.
2. Чтобы он отображался независимо поверх исходного содержания страницы его нужно зафиксировать (обычно добавляются дополнительные эффекты - центрирование, затенение страницы). Например, так
3. Код отображающий и скрывающий этот элемент
Здесь можно заметить странную переменную loadingTimeout, которая очищается в этих функциях. Смысл setTimeout лучше погуглить, из первых ссылок по этой теме мне показалась симпатичной http://alljs.ru/articles/timeout/overview 4. Перед началом загрузки выполняет отображение элемента в п.1
5. После завершения загрузки, закрывает элемент п.1.
6. Если нужно, чтобы после полторы минуты отсутствия загрузки, окошко принудительно закрыть, то нужно поставить таймер
Что здесь происходить: * создается таймер setTimeout * который через полторы минуты (90 секунд) * запустить функцию stopLoading * этим таймером можно управлять (останавливать), зная возвращенное значение loadingTimeout, что и делается в п.3 |
Автор: Serious2008 28.1.2012, 22:50 | ||
Я уже даже вот так сделал. Всё равно не работает, субмит функция всё нормально, этот див не появляется |
Автор: Fynivx 3.2.2012, 03:19 |
Знать, выразился я не осторожно... Не знаю, каким образом это происходит в jquery, но браузер даже не отправляет запрос, если onsubmit возвращает false... А про null я говорил потому, что таймаут при этом уничтожаться совсем не обязан. А visibility и display использовать не пробовали? |