Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2013, 18:37
Аватар для viktorina
Профессор
Отправить личное сообщение для viktorina Посмотреть профиль Найти все сообщения от viktorina
 
Регистрация: 04.01.2013
Сообщений: 173

"Нормальность" скорости выборки элементов.
У меня скрипт, который ищет элементы на странице.
Так вот чтобы найти элементы приходится искать все элементы
getElementsByTag("*")
Потом в цикле сравниваю с заданными в поиске требованиями.
Короче чтобы найти элемент затрачивается 20мс .
Я новичок и у меня где-то внутри ёкает, что это ужос как долго.
Долго ли это на самом деле или в большинстве случаев не играет решающей роли? Или таки скорость стоит на первом месте?
querySelectorAll работает быстрее, но в ie<8 не работает.
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2013, 19:26
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

viktorina,
1. Сколько элементов на странице и сколько из них выбирается ?
2. Каков смысл данной затеи ?
3. По какому селектору ищется ?
Ответить с цитированием
  #3 (permalink)  
Старый 04.01.2013, 19:36
Аватар для viktorina
Профессор
Отправить личное сообщение для viktorina Посмотреть профиль Найти все сообщения от viktorina
 
Регистрация: 04.01.2013
Сообщений: 173

Элементов бывает до тысячи. Из них выбирается до 30.
Смысл в написании своего маленького фреймворка(). http://jru-framework.ru/ - этот. У меня была мечта создать отечественный фреймворк, но знаний маловато. Сейчас решил всё же вернуться к романтике, но уже более серьёзно. Например слайды эти на нём написаны.
Ищется по любому селектору, хоть по присутствию слова или куска html в элементе.
Проблема именно в первом getelementByTag(*) и в первом перелистывании всех элементов. После первого отсева всё быстро.
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2013, 19:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от viktorina
Смысл в написании своего маленького фреймворка(). http://jru-framework.ru/ -
Ну в качестве имхо для тренировки и души - возможно,
А так - для слайдеров мало нерешенных задач,
простейший - подгрузка готового фреймворка по клику на элемент слайдера.
Ответить с цитированием
  #5 (permalink)  
Старый 04.01.2013, 20:23
Аватар для viktorina
Профессор
Отправить личное сообщение для viktorina Посмотреть профиль Найти все сообщения от viktorina
 
Регистрация: 04.01.2013
Сообщений: 173

Но мой фреймворк делает всё быстро и просто, подгружает, перегружает, меняет стили и т.д.
У меня animate лучше чем jquery. проблема в скорости выборки. чтобы найти элемент 20мс надо, это же много?
Ответить с цитированием
  #6 (permalink)  
Старый 04.01.2013, 20:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от viktorina
20мс надо, это же много?
Если есть анимация - то нет, посколь минимальный цикл таймера порядка 13 мс
Ответить с цитированием
  #7 (permalink)  
Старый 04.01.2013, 20:35
Аватар для viktorina
Профессор
Отправить личное сообщение для viktorina Посмотреть профиль Найти все сообщения от viktorina
 
Регистрация: 04.01.2013
Сообщений: 173

С анимацией всё в порядке. У меня сначала идёт выборка, до 20мс, потом анимация работает уже с выбранными элементами, во время анимации выборок нет.
При загрузке страницы все элементы, как правило уже собраны в переменных и ждут дискотеку. Ну максимум при наведении мышки может понадобиться выборка, но пользователь эту задержку не заметит.
Да и вообще не заметно это время, просто сам подход мой не смущает? Перелистывать все элементы и искать сходства. Не заплюют гуру за такой подход? "Аж 20мс! Да гори ты в аду!"
Ответить с цитированием
  #8 (permalink)  
Старый 04.01.2013, 20:43
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

viktorina,
90 % из написанного делает нативный http://javascript.ru/blog/subzey/que...orAll-praktike
и т.д
Цитата:
Все цепные функции запускаются двумя способами:event() и start()
бессмысленно, если слушатель нельзя отменить
и т.д и т.п..

Последний раз редактировалось dmitriymar, 04.01.2013 в 20:48.
Ответить с цитированием
  #9 (permalink)  
Старый 04.01.2013, 20:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от viktorina
Перелистывать все элементы и искать сходства. Не заплюют гуру за такой подход? "Аж 20мс!
Собственно кода нет, ап чем тогда можно полемику разводить...
Потом суть не в том шо апплюют, - эт не главное - суть в том чтоб на мысли навели!
Ответить с цитированием
  #10 (permalink)  
Старый 04.01.2013, 20:56
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Цитата:
Собственно кода нет, ап чем тогда можно полемику разводить..
+1

ЗЫ.
"Сейчас решил всё же вернуться к романтике" - пишешь как мальчик
viktorina - а по нику девочка
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запретить изменение количество элементов в списке Antistas jQuery 0 05.12.2012 14:05
Функция для выборки html элементов potato Ваши сайты и скрипты 6 01.08.2012 01:55
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов Ирина Владимировна Общие вопросы Javascript 10 24.03.2012 18:18
Как ограничить количество элементов (списков <li>) массивов Naum Элементы интерфейса 2 04.04.2011 11:56