ixplo
они как бы не связаны
ixplo
запрос у тебя идёт вначале, а тебя бомбят задержки при фильтрации или что?
ixplo
что тебе не нравится сейчас? )
Victor
На стороне клиента перед поиском создаётся var agents = $("#active td:nth-child(2), #nogroup td: nth-child (2)"), и все тексты сравниваются с регуляркой и в results []
Victor
Создаётся по keyup, потому что в любой другой момент брать - не все будут в дом
ixplo
Стой
ixplo
Работай с массивом данных, а не с текстами со страницы
ixplo
Это ускорит работу раз в сто
Victor
Ок, в какой момент создавать массив?
ixplo
Ща
ixplo
При загрузке начальной создаёшь главный массив
Victor
И чтобы совпадало с элементами дом, я же их отображаю
ixplo
На keyup создаёшь второй массив для отрисовки
ixplo
Он собирается твоей фильтрующей функцией
ixplo
Можно его не создавать вообще
ixplo
А сразу в этой функции собирать таблицу, которую потом выводить
ixplo
Но фильтрация должна работать по оригинальному нормальному массиву, а не по объекту jQuery
ixplo
Все будет работать мгновенно
Victor
А сбор таблицы меньше по времени, чем передобавить?
ixplo
обращение к dom (html) самое долгое в js
ixplo
сбор - быстро
ixplo
вывод - долго
ixplo
поэтому выводить надо всё разом
ixplo
если ты начинаешь вырезать / добавлять строки много раз - это ооочень долго
Victor
Ну...попробую...но уже с утра)
Victor
Спасибо
ixplo
ещё оптимизация. когда будешь собирать таблицу, не соединяй её куски строками и плюсами
ixplo
пихай строки таблицы в массив, а в конце делай .join("")
Victor
Я и на пхп так не делаю)
ixplo
ну отлично )
ixplo
ну и потом этот джойн уже в $(таблица).html(строки)
ixplo
1 раз
ixplo
всё будет летать, зуб даю )
ixplo
ну и лучше сделать задержку небольшую после keyup
Victor
500 мс?
ixplo
около того
ixplo
на нажатии предыдущий таймер должен удаляться
ixplo
новый запускаться
ixplo
var timerId = setTimeout(...); clearTimeout(timerId);
ixplo
храни timerId снаружи обработчика keyup
ixplo
задержку отрегулируй как удобней, но после того, что я тебе рассказал, вероятно, она не понадобится, тк работать должно совсем без задержек
ixplo
Обычно её используют, когда при вводе идёт запрос на сервер
nopefish
Можно ли уже пользоваться babel-cli ? Или пока лучше побыть на babel ?
nopefish
я только что узнал что babel оказывается deprecated
nopefish
на проекте пишут на ES5 и даже не собираются ничего делать. Вот думаю прикрутить.
nopefish
вообще боюсь что не всё так просто там будет
nopefish
сначала транспилирование, потом вдруг окажется что придется ещё что-то делать...
nopefish
потому что без этого транспилированный код не будет работать как надо
nopefish
о, точно. html-ки на месте остались. Блин, по ходу сборщик нужен.
Anonymous
Ну шагайте дальше
Stepan
/report
Group Butler [beta]
/report
Reported to 1 admin(s)
Stepan
/report
Group Butler [beta]
/report
Reported to 1 admin(s)
Anonymous
Сори прочерка ошибка
Group Butler [beta]
/report
Reported to 1 admin(s)
Anonymous
/report
дурак шоле?
Anonymous
Конешно
Anonymous
за ложные репорты тут банят?
CherryTea
/report
Group Butler [beta]
/report
Reported to 1 admin(s)
Анатолий
И пусть себе работает с массивом
Анатолий
А он будет синхронизировать его с таблицей
Rafael 🌵
Анатолий
А массив менять не сразу после ввода символа а по задержке. Алгоритм простой: - кейдаун запускает таймер - кейап очищает таймер - по истечению таймера происходит фильтрация массива по введённой строке. И массив не надо пересоздавать или как-то клонировать, пусть элементы массива содержат флаг, который отвечает за показ соответствующей строки. Сравнением элемента со строкой поиска этот самый флаг ставим или снимаем, а вью по его наличию будет показывать или убирать строку.
Dmitry
http://elvengold.com/r/251026
Rafael 🌵
Rafael 🌵
Muzaffar
конечно тут обычно не задают нубских вопросов но все же... почему в мозылле показывает как надо а вот в хроме нет? https://jsfiddle.net/RasulovMuzaffar/y20wqf6o/
Winni
конечно тут обычно не задают нубских вопросов но все же... почему в мозылле показывает как надо а вот в хроме нет? https://jsfiddle.net/RasulovMuzaffar/y20wqf6o/
Для хрома другое своейство есть. И вообще в хроме правильнее. Кастомизировать дефорлтные контроллы - зло.
Muzaffar
мне просто нужно чтоб в option'ах был паддинг
Анатолий
мне просто нужно чтоб в option'ах был паддинг
https://stackoverflow.com/questions/33939063/how-to-set-the-height-of-an-option-element-in-chrome-without-javascript
Muzaffar
т.е. у хрома не получится?
Анатолий
Если нужно кастомизировать дропдауны, лучше взять готовую либу для них
Muzaffar
ясно спасибо, тогда пока оставлю как есть
Muzaffar
потом посмотрим
Anonymous
Есть красивое решение проблемы арифметики дробных чисел? Желательно, в виде отдельной библиотеки. Ещё желательнее — узкоспециализированной.