![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Elliner |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
(сразу скажу, что я сисадмин, а не программист, но написать кусок кода необходимо).
Скрипт с интервалом запрашивает данные с сервера, получая ответ в формате json. Далее с помощью цикла each обрабатывается каждый элемент и пихается в функцию, которая уже расфасовывает данные в определенную ячейку таблицы на сайте.
Все работает, но каждый раз при занесении данных (перерисовке таблицы) браузер "подвисает". Я так понял, подвисает он до тех пор пора не занесет ВСЕ данные на страницу... Хочу узнать, существует ли решение, которое позволит "растормозить" браузер, например возвращать управление браузеру в промежутках между обработкой каждого элемента массива с json-данными? Надеюсь относительно понятно сформулировал вопрос. Спасибо! Это сообщение отредактировал(а) Elliner - 4.4.2013, 16:19 |
||||
|
|||||
KuZyagroup |
|
|||
![]() magento solution ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 16.4.2007 Где: Kiev Репутация: 1 Всего: 4 |
Elliner,
В вашем случае есть смысл склеить весь вывод одну строку и потом удалить старую таблицу и вставить новую, если браузер подвисает, и нету сложностей с тем что на таблицу навешены какие то события которые геморойно перезапускать(думаю что нету) |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
А зачем на 13 строчке возврат данных? При таком подходе $.each(json.iplist не выполнится никогда. А что делает функция update_data? Или она не важна в контексте вопроса? Растормозить браузер можно, например, сократив кол-во данных в одной пачке (посылать несколько запросов - в целом не очень красивое решение), либо вызывать цикл не по всему массиву, а по части (chunk), когда закончится - вызывать снова по следующему куску. |
|||
|
||||
Elliner |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
KuZyagroup,
Сразу вопрос, таблица не маленькая, в реальных условиях минимум 200 строк и 15 колонок. Будет ли такая перерисовка незаметна для пользователя? Плюс в таблице должны быть столбцы с input полями (на них по классу навешано событие onchange + с отправкой данных). Планировалось, что при редактировании данных в определенной строке, эта строка обновляться не будет (путем навешивания какого-нибудь аттрибута). Aliance, Исправил (ошибка вкралась... ![]() Сам склонялся к подобному решению, но нехватает знаний по реализации... Родной функции array_chunk насколько я понимаю в JS нет? update_data,... используется для многократного повторения функции getIPList c задержкой. Это сообщение отредактировал(а) Elliner - 4.4.2013, 16:17 |
|||
|
||||
KuZyagroup |
|
|||
![]() magento solution ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 16.4.2007 Где: Kiev Репутация: 1 Всего: 4 |
Elliner,
Будет ли такая перерисовка незаметна для пользователя? -> Думаю будет не заметной на них по классу навешано событие onchange + с отправкой данных --> надо будет повесить еще раз |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |