Как за синхронить вывод при обходе елементов Jquery |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6899-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Как за синхронить вывод при обходе елементов Jquery |
RipperR |
Sep 1 2017, 21:04
Пост
#1
|
Репутация: 40 Постоялец Группа: Пользователи Сообщений: 1 153 С нами с: 25-March 08 |
Как засинхронить вывод при обходе елементов
есть код function ticket_counter() { $("ul.sidebar-menu").find("span#tickets_count").each(function() { var type=$(this).attr('name'); var element = $(this); $.get('menu_count_return.php?type=tickets&sub='+type+'').done(function( data ) { var item=data; $(element).html(''+data+''); }); }); return true; }; Оно находит 10 элементов меню и меняет значение количество на возвращаемого из url Но так как ответ происходит не моментально а элементов 10 то значения заполняются поэтапно что не есть красиво ... как сделать так чтобы пока все 10 элементов не получать ответ не рисовать результат ... Возможно как-то можно распараллелить эту функцию для ускорения работы. Сообщение отредактировал RipperR - Sep 1 2017, 21:15 |
miniden |
Sep 1 2017, 21:28
Пост
#2
|
Репутация: 31 Дух Группа: Пользователи Сообщений: 89 С нами с: 14-October 09 |
function ticket_counter() { var collection=[]; $("ul.sidebar-menu").find("span#tickets_count").each(function() { var type=$(this).attr('name'); var element = $(this); $.get('menu_count_return.php?type=tickets&sub='+type+'').done(function( data ) { //перед этим можно проверять есть ли на такой тип - дата, и не делать повторно запрос. collection.push({type:data}); }); }); return true; }; Я вижу 2 решения: вначале пособирать данные, потом рисовать. Переделать menu_count_return.php что бы он принимал массив типов, и возвращал массив типов с данными, и за 1 раз рисовать. А еще в эту функцию можно попробовать async (default: true) |
Упрощённая версия | Сейчас: 3rd February 2025 - 8:06 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |