Если ожидание больше 2 секунд
Отправляю данные с помощью $.get, но как определить если ответа нет больше 2 секунд, то показывать лоадер, но если придет быстро (допустим за секунду) не показывать лоадер
|
var timer = setTimeout(function() { // тут показываем лоадер }, 2000); $.get(url, function(data) { clearTimeout(timer); ... }); лоадер всплывет через 2 сек. |
Цитата:
|
laimas, запрос-ответ обычно занимает около секунды, а теперь представьте, у вас быстрый инет (100мб/с) и вы бродите по сайту. Нажав на какую нибудь кнопку, у вас перед глазами на СЕКУНДУ (!) ПОЯВЛЯЕТСЯ лоадер и тут же скрывается + учитываем то что вы будете открывать много страниц сайта. Ну некрасиво ведь....
|
Цитата:
|
laimas, да согласен, но я не хочу показывать крутилку людям с быстрым интернетом, вот и приходится выкручиваться, жаль что в js нет функции, которая рассказала бы о скорости интернета у пользователя.
|
Цитата:
|
laimas, вот думаю: может вообще лоадер убрать, если уж такая ситуация... Ну можно конечно сразу по отправке пакета показывать лоадер, а как ответ пришел, подождать где-то секунду и скрыть его. Таким образом получим нормальный лоадер. Но опять же не идеальный способ. Вообщем, я расстроен....
|
Andreysolomon,
Показывай не слишком заметный лоадер где-то с краю или в углу. Чтобы и загрузку можно было увидеть, и не моргало бы сильно, если быстро загрузится. |
Alexandroppolus, нет, это противоречит дизайну сайта, там все попиксельно выравнил, все стараюсь посередине, а тут в углу......... Ну хотя можно попробовать, ладно спасибо за совет
|
Часовой пояс GMT +3, время: 00:13. |