Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2014, 10:22
Интересующийся
Отправить личное сообщение для misterX_ Посмотреть профиль Найти все сообщения от misterX_
 
Регистрация: 24.10.2014
Сообщений: 20

Не отображается loader
Доброго всем дня!
Продолжаю разбираться в JS :-)

В общем есть такой код

var loader=document.getElementById("loader");
loader.innerHTML='<img class="basket" src="images/loader.gif"/>'
loader.style.display='';
Synchronize();
loader.style.display='none';


вот лоадер

<div style="display:none;background-color:grey; position: relative !important" id="loader"></div>


Synchronize() - делает синхронный запрос на сервер (подвешивает браузер, так нужно)

Вопрос - почему не отображается loader?
Причем если открыть Developer tools и пошагово все пролистать, то в окне можно увидеть loader.

UPD: думал, что функция быстро выполняется, поэтому лоадера не видно. Поставил задержку sleep(5) в php скрипте. Все равно лоадера не видно.

Последний раз редактировалось misterX_, 25.11.2014 в 10:26.
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2014, 10:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

misterX_,
потому что 5 строка его скрывает
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2014, 11:15
Интересующийся
Отправить личное сообщение для misterX_ Посмотреть профиль Найти все сообщения от misterX_
 
Регистрация: 24.10.2014
Сообщений: 20

Перенес

var loader=document.getElementById("loader");
loader.style.display='none';

в конец выполнения функции
Synchronize();

Результат тот же к сожалению ((
Если убрать совсем, то он начинает отображаться только по завершении функции Synchronize(), а должен как раз во время выполнения.

Как сделать чтобы лоадер появился ДО выполнения функции Synchronize()?

Последний раз редактировалось misterX_, 25.11.2014 в 11:20.
Ответить с цитированием
  #4 (permalink)  
Старый 25.11.2014, 11:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

misterX_,
запустить Synchronize через минимальный таймер -- скрытие loader добавить в success Synchronize
Ответить с цитированием
  #5 (permalink)  
Старый 25.11.2014, 11:49
Интересующийся
Отправить личное сообщение для misterX_ Посмотреть профиль Найти все сообщения от misterX_
 
Регистрация: 24.10.2014
Сообщений: 20

Так и сделал, спасибо.

Еще один вопросик. При синхронном запросе виснет и гифка в браузере. Можно ли как-то этого избежать?
Ответить с цитированием
  #6 (permalink)  
Старый 25.11.2014, 12:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

Сообщение от misterX_
При синхронном запросе виснет и гифка в браузере. Можно ли как-то этого избежать?


то есть то что синхронный запрос блокирует браузер это никак не тум-тум?
Ответить с цитированием
  #7 (permalink)  
Старый 25.11.2014, 12:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

misterX_,
http://learn.javascript.ru/ajax-xmlh...й-вызов
Ответить с цитированием
  #8 (permalink)  
Старый 25.11.2014, 12:20
Интересующийся
Отправить личное сообщение для misterX_ Посмотреть профиль Найти все сообщения от misterX_
 
Регистрация: 24.10.2014
Сообщений: 20

Перед тем писать сюда, я всегда читаю документацию.
http://learn.javascript.ru - в первую очередь.
Что он подвешивает браузер - знаю.
Думал, может есть какие-нибудь велосипеды...

З.Ы. За помощь спасибо.
Ответить с цитированием
  #9 (permalink)  
Старый 25.11.2014, 12:46
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Это значит что синхронный запрос берет больше чем дает. Юзайте worker'а
Ответить с цитированием
  #10 (permalink)  
Старый 25.11.2014, 13:03
Интересующийся
Отправить личное сообщение для misterX_ Посмотреть профиль Найти все сообщения от misterX_
 
Регистрация: 24.10.2014
Сообщений: 20

Сообщение от kostyanet Посмотреть сообщение
Это значит что синхронный запрос берет больше чем дает. Юзайте worker'а
Интересная идея - сейчас вот читаю. На хабре есть хорошая статья.
Хммм, интересно, работает ли он с IE8...


З.Ы. worker - шикарная вещь. Спасибо за совет! Но мне не подойдет, он работает в IE начиная с версии 10. У меня заявлена совместимость IE>=8

Последний раз редактировалось misterX_, 25.11.2014 в 13:13.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отображается виджет vk в табах ? ilyas-> Элементы интерфейса 6 27.04.2016 13:34
Слайд картинок не верно отображается в IE petlyra5 Общие вопросы Javascript 2 04.02.2013 18:43
не отображается iframe IggyTot Firefox/Mozilla 1 31.07.2012 14:24
Grid не отображается. Что я упустил? vlad275 ExtJS 3 09.03.2011 18:44
Почему div не отображается в ИЕ? warobushek (X)HTML/CSS 0 26.04.2010 08:35