Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заблокировать страницу (https://javascript.ru/forum/misc/31039-zablokirovat-stranicu.html)

p1xel 24.08.2012 11:49

Заблокировать страницу
 
Привет
Вообщем задача такая,
Пользователь нажимает на кнопку на форме, в это время происходит ряд длительных действий

Нужно как-то не давать пользователю совершать какие-либо действия до того как действия не закончатся

Было бы неплохо как-то при нажатии на кнопку блокировать страницу и показывать мини прогресс бар.. есть какие-то примеры такой реализации?

Deff 24.08.2012 12:00

Цитата:

Сообщение от p1xel
Пользователь нажимает на кнопку на форме, в это время происходит ряд длительных действий

Закинуть действия во фрейм ? - не айс ? - на фрейме показать прогресс бар, Смысл тормозить пользователя ?

p1xel 24.08.2012 12:24

Потому что пользователи умудряются нажать на эту кнопку ещё раз, и ещё раз в тот момент когда она ещё не закончила обработку первого клика..

Фреймы трудно будет прикрепить..
Возможно проще блокировать просто кнопку..

Deff 24.08.2012 12:33

p1xel,
:) А скрыть кнопку на время деяния ? (Её место загородить прогрессбаром

p1xel 24.08.2012 13:01

ну тоже вариант..
самое простое то конечно тупо задисаблить кнопку но это не очень интересно
поищу прогрессбар )

спасибо за помощь

bes 24.08.2012 13:47

Если дело только в одной кнопке, то можно отключать её обработчик на время загрузки
Для примера
<button>click</button>

<script>
window.onload = function () {
	var but = document.body.children[0];

	function countdown () {
		but.onclick = null;
		var count = 5;
		var int = setInterval(function () {
			but.innerHTML = 'loading... ' + count--;
			if (count == 0) {
				clearInterval(int);
				but.innerHTML = 'click';
				but.onclick = function () {
					countdown();
				}
			}
		}, 1000)
	}
	
	but.onclick = function () {
		countdown();
	}
		
}
</script>

nerv_ 24.08.2012 14:00

Цитата:

Сообщение от bes
то можно отключать её обработчик на время загрузки

<input type="button" value="Кнопка" disabled>

bes 24.08.2012 14:10

он сказал, что
Цитата:

Сообщение от p1xel
это не очень интересно

:)

zebra 24.08.2012 14:48

Вешать див поверх всего, и ставишь на него рисунок с анимацией


Часовой пояс GMT +3, время: 09:26.