Как за синхронить вывод при обходе елементов Jquery |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6729-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Как за синхронить вывод при обходе елементов Jquery |
RipperR |
![]()
Пост
#1
|
Репутация: ![]() ![]() Постоялец ![]() ![]() ![]() Группа: Пользователи Сообщений: 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 |
Пост
#2
|
Репутация: ![]() ![]() Дух Группа: Пользователи Сообщений: 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) |
RipperR |
Пост
#3
|
Репутация: ![]() ![]() Постоялец ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 153 С нами с: 25-March 08 ![]() |
С Jquery я еще не очень ... только простенькие вещи научился делать (. Буду разбиратся походу ... на php не проблема можно вернуть сразу все значения ибо заведомо известно что будет запрашиватся нужны с стороны jquery только разобрать масив и подожить в нужные места при этом масив будет аосоциативные где ключь будет равен $(this).attr('name'); для удобства ... вопрос как в jquery разбирать масив и может лучше json возвращать?
|
Payne |
Пост
#4
|
Репутация: ![]() ![]() Активист ![]() Группа: Пользователи Сообщений: 293 С нами с: 17-March 06 ![]() |
Согласен с предыдущим пользователем, сначала собирайте данные, потом рисуйте.
|
RipperR |
Пост
#5
|
Репутация: ![]() ![]() Постоялец ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 153 С нами с: 25-March 08 ![]() |
Да все получилось. Спс так и сделал сгенерировал масив в php и скормил его в jquery
Сообщение отредактировал RipperR - Sep 11 2017, 17:56 |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 17th August 2024 - 7:53 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |