Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2017, 11:17
Аспирант
Отправить личное сообщение для Andreysolomon Посмотреть профиль Найти все сообщения от Andreysolomon
 
Регистрация: 21.10.2016
Сообщений: 34

Если ожидание больше 2 секунд
Отправляю данные с помощью $.get, но как определить если ответа нет больше 2 секунд, то показывать лоадер, но если придет быстро (допустим за секунду) не показывать лоадер
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2017, 11:22
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

var timer = setTimeout(function() {
  // тут показываем лоадер
}, 2000);

$.get(url, function(data) {
  clearTimeout(timer);
  ...
});


лоадер всплывет через 2 сек.
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2017, 12:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Andreysolomon
как определить если ответа нет больше 2 секунд
Зачем? Показывайте его сразу при инициализации запроса и скрывайте по ответу сервера и ошибках.
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2017, 13:58
Аспирант
Отправить личное сообщение для Andreysolomon Посмотреть профиль Найти все сообщения от Andreysolomon
 
Регистрация: 21.10.2016
Сообщений: 34

laimas, запрос-ответ обычно занимает около секунды, а теперь представьте, у вас быстрый инет (100мб/с) и вы бродите по сайту. Нажав на какую нибудь кнопку, у вас перед глазами на СЕКУНДУ (!) ПОЯВЛЯЕТСЯ лоадер и тут же скрывается + учитываем то что вы будете открывать много страниц сайта. Ну некрасиво ведь....
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2017, 14:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Andreysolomon
запрос-ответ обычно занимает около секунды, а теперь представьте, у вас быстрый инет (100мб/с)
Представил, но только скорость от провайдера еще не означает, что север будет отвечать мгновенно, и причин этому может быть много. И кто вам дал гарантию что если через две секунды ответа не будет, то еще придется ждать две? Отработает ваш таймер, покажет крутилку, а через пол секунды сервер ответит. Это красиво, а вот показалось сразу на секунду, это не красиво?
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2017, 14:29
Аспирант
Отправить личное сообщение для Andreysolomon Посмотреть профиль Найти все сообщения от Andreysolomon
 
Регистрация: 21.10.2016
Сообщений: 34

laimas, да согласен, но я не хочу показывать крутилку людям с быстрым интернетом, вот и приходится выкручиваться, жаль что в js нет функции, которая рассказала бы о скорости интернета у пользователя.
Ответить с цитированием
  #7 (permalink)  
Старый 12.10.2017, 14:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Andreysolomon
жаль что в js нет функции, которая рассказала бы о скорости интернета у пользователя
Скорость еще не означает быстрый ответ сервера. Будет сервер занят и чем вам поможет скорость? А если на маршруте какой либо узел глючит? Как-то у вас все просто - если 100 МБс значит все должно летать. Хотелось бы, но увы, у меня скорость большая, но дожидаться ответов этого форума бывает приходится так долго, что успевает борода вырасти.
Ответить с цитированием
  #8 (permalink)  
Старый 12.10.2017, 15:28
Аспирант
Отправить личное сообщение для Andreysolomon Посмотреть профиль Найти все сообщения от Andreysolomon
 
Регистрация: 21.10.2016
Сообщений: 34

laimas, вот думаю: может вообще лоадер убрать, если уж такая ситуация... Ну можно конечно сразу по отправке пакета показывать лоадер, а как ответ пришел, подождать где-то секунду и скрыть его. Таким образом получим нормальный лоадер. Но опять же не идеальный способ. Вообщем, я расстроен....
Ответить с цитированием
  #9 (permalink)  
Старый 12.10.2017, 15:35
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Andreysolomon,

Показывай не слишком заметный лоадер где-то с краю или в углу. Чтобы и загрузку можно было увидеть, и не моргало бы сильно, если быстро загрузится.
Ответить с цитированием
  #10 (permalink)  
Старый 12.10.2017, 15:40
Аспирант
Отправить личное сообщение для Andreysolomon Посмотреть профиль Найти все сообщения от Andreysolomon
 
Регистрация: 21.10.2016
Сообщений: 34

Alexandroppolus, нет, это противоречит дизайну сайта, там все попиксельно выравнил, все стараюсь посередине, а тут в углу......... Ну хотя можно попробовать, ладно спасибо за совет
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Система всплывающих сообщений ruslan_mart Ваши сайты и скрипты 32 27.05.2015 21:28
onclick только если onchange qwe88 Общие вопросы Javascript 9 18.04.2015 21:15
Замена class у блока если в нем есть определенный текст tema1508 Общие вопросы Javascript 1 26.12.2014 18:28
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
iframe | закрыть если... Geek Events/DOM/Window 5 30.09.2008 16:23