Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.11.2013, 12:42
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Анимация процесса загрузки
Привет друзья. Есть кнопка :
<input type="button" id="pdfloader" value="Загрузить" onclick="document.location = '/download/rar/99'"/>


Когда ее нажимаешь то через секунд 3-4 выскакивает окно загрузки файла. Мне нужно что бы это время крутилась анимация, ну или кнопка была не рабочая, что бы юзер 1000 раз не нажимал на нее, и не думал что все зависло. Раньше делал это когда пользовался аякс запросом, но тут запрос попроще, а решения найти не могу, что подскажете?
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2013, 13:03
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

onclick="this.disabled = true; document.location = '/download/rar/99'"
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2013, 13:25
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Сообщение от Rise Посмотреть сообщение
onclick="this.disabled = true; document.location = '/download/rar/99'"
А что бы потом через несколько секунд кнопка снова стал активна, я вот пробовал такой вариант, но не сработало:
setTimeout('onclick="this.disabled = true; document.location = '/download/rar/99';  setTimeout('this.disabled = false', 2000)"


Что здесь можете посоветовать?
Ответить с цитированием
  #4 (permalink)  
Старый 13.11.2013, 13:42
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Решил такой конструкцией :

function count_second() {
                                        setTimeout(function(){$('#pdfloader').fadeOut('fast')},1);
                                        setTimeout(function(){$('#pdfloader').fadeIn('fast')},3000);
                                        }
Ответить с цитированием
  #5 (permalink)  
Старый 13.11.2013, 14:12
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Подскажите еще когда мне выскакивает окно с предложением открыть или сохранить файл, это эвент? Его можно отследить, что бы все таки кнопка появлялась не по таймингу, а когда окно скачки выскакивало.
Ответить с цитированием
  #6 (permalink)  
Старый 13.11.2013, 14:50
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

IZLOM,
Если это input type="file" и окно выбора файла, то отслеживать события можешь так:
1. "mousedown" - нажал на кнопку, но ещё не отпустил.
2. "click" - нажал на кнопку и открылось окно выбора файлов.
3. "change" - файлы выбраны.
http://javascript.ru/tutorial/events...klikov-sobytiy

Последний раз редактировалось mi.rafaylik, 13.11.2013 в 14:59.
Ответить с цитированием
  #7 (permalink)  
Старый 13.11.2013, 14:58
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Сообщение от mi.rafaylik Посмотреть сообщение
IZLOM,
отслеживать события input type="file" можешь так:
1. "mousedown" - нажал на кнопку, но ещё не отжал.
2. "click" - нажал на кнопку и открылось окно выбора файлов.
3. "change" - файлы выбраны.
вы немного не так меня поняли, вот это окно, пока оно не появилось, кнопка скачки файла не должна быть доступна :

Ответить с цитированием
  #8 (permalink)  
Старый 13.11.2013, 15:06
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

Да, неправильно Вас понял.
Нужно запустить анимацию, в это время сделать кнопку неактивной, а по открытию окна завершить анимацию и снять лок?

Последний раз редактировалось mi.rafaylik, 13.11.2013 в 15:14.
Ответить с цитированием
  #9 (permalink)  
Старый 13.11.2013, 15:15
Интересующийся
Отправить личное сообщение для IZLOM Посмотреть профиль Найти все сообщения от IZLOM
 
Регистрация: 08.10.2013
Сообщений: 24

Сообщение от mi.rafaylik Посмотреть сообщение
Да, неправильно Вас понял.
Нужно запустить анимацию, в это время сделать кнопку неактивной, а по открытию окна завершить анимацию и снять лок?
Да, можно просто лочить или скрывать кнопку на время выполнения запроса, без всяких анимаций
Ответить с цитированием
  #10 (permalink)  
Старый 13.11.2013, 15:37
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

<input type="button" id="pdfloader" value="Загрузить" />

<script>
window.onload = function() {
	var button = document.getElementById('pdfloader');
	document.body.onblur = function(){ button.disabled = false };
	button.onclick = function(){
		this.disabled = true;
		document.location = '/download/rar/99';
	};
}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Круговой индикатор процесса - анимация при движении мышью Sam L Элементы интерфейса 2 15.02.2013 13:37
Повернуть изображение после его загрузки (jquery) art_maestro jQuery 0 13.09.2012 21:50
Не работает анимация при загрузки ajax ArtOs Общие вопросы Javascript 0 24.05.2012 17:52
Срабатывание скрипта в разные моменты при загрузки в разных браузерах VitalikPro Javascript под браузер 10 29.12.2011 18:24
скрипт для отслеживания процесса загрузки страницы rafael Firefox/Mozilla 0 07.12.2011 18:49