Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2017, 14:23
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

ajax тормоза
на странице есть див, в этот див аяксом грузится 3000 элементов, каждый элемент это див с текстом
3000 элементов генерятся на сервере, и затем отдаются клиенту в виде строки
проблема в том что при их рендеринге браузер подвисает
как ускорить? кроме уменьшения количества элементов
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2017, 14:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Можно избавиться от необходимости выводить на страницу 3к элементов.
Можно попробовать отрисовывать контент постепенно (с timeout).
Можно попробовать увеличить вычислительные мощности устройства, которое вы насилуете.
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2017, 14:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Реализовать листание, если это какой-то список... Тогда можно подгружать информацию кусками. Но это все можификации одного подхода
Сообщение от Nexus
избавиться от необходимости выводить на страницу 3к элементов
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2017, 09:15
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

уменьшить количество не подходит на данном этапе
как вариант это отрендерить первые 100 видимых итемов а дальше рендерить постепенно по 100 штук с таймаутом
это возможно?
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2017, 09:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Сообщение от гуня
отрендерить первые 100 видимых итемов а дальше рендерить постепенно по 100 штук с таймаутом
это возможно?
Да.

Но даже получение сразу большого количества данных не есть хорошо. Запрос "по соточке" с последующей отрисовкой всяко лучше...
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2017, 10:13
Кандидат Javascript-наук
Отправить личное сообщение для гуня Посмотреть профиль Найти все сообщения от гуня
 
Регистрация: 22.08.2009
Сообщений: 105

как такое сделать?
счас у меня сделано так
<script id="leadTemplate" type="text/x-jquery-tmpl">

<div class="draggable-item" id="${id}">


    <div class="min-hd" id="${id}">

    {{if status==1}}
    <input type='checkbox' value='{id}' class='raw' />
    {{/if}}

    ${retail}
    </div>


    <div class="item">${name}</div>

    <div class="item">${phone}</div>

    <div class="item">${cel}</div>

    <div class="item">{{html email}}</div>

</div>

</script>

 $("#leadTemplate").tmpl(data.leads).appendTo('.box-min-'+data.status+' .main_box');
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2017, 10:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Сообщение от гуня
как такое сделать?
Получив данные, добавляешь первый кусок на страницу... Остальные денные передаешь в функцию, которая запустится через setTimeout().
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы после ajax проверки ShutTap Общие вопросы Javascript 15 08.04.2016 11:46
Объект ajax и приостановка функции kilohertz_. AJAX и COMET 5 18.01.2015 16:33
Проблема с AJAX Dim@ AJAX и COMET 4 16.09.2012 22:52
Ajax таблица gofkane Работа 0 25.09.2011 11:53
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57