Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.10.2014, 13:51
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от danik.js Посмотреть сообщение
Если код от этого короче
<style>
  .red {
    color: red;
  }
</style>
<p class="hello">Lorem ipsum dolor sit amet, consectetur</p>
<p class="hello">Sapiente in delectus dolorem reiciendis ditii</p>
<p class="hello">Quis dolore autem voluptatibus repellat</p>
<script>
var a=document.querySelectorAll("p.hello"),b=a.length,c=0,d=setInterval(function(){b--?a[c++].className+=" red":clearInterval(d)},2E3);
</script>

Таймер где в примере. Поставь 10000 параграфов коль спорить начал. И при чем здесь клонирование и вставка к этому примеру. Можешь рассматривать как задание заготовки

Последний раз редактировалось Vlasenko Fedor, 23.10.2014 в 13:59.
Ответить с цитированием
  #12 (permalink)  
Старый 23.10.2014, 14:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Poznakomlus, что ты хочешь доказать?
Мое утверждение: запрос querySelector, раз в две секунды - вообще не проблема, даже с тыщей параграфов.

Твое?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #13 (permalink)  
Старый 23.10.2014, 14:19
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

и ты считаешь это правильно выполнить даже при 1000
for (var count = 0, i = 0; i < 1000; count += ++i);
  alert('Всего вызовов querySelectorAll - ' + count + '\nлишних итераций - ' + (count - 1));

а то, что не тормозит так это хорошо http://learn.javascript.ru/play/aXxgxb
но зачем делать повторно вычисления которые можно сделать разово querySelectorAll я вызываю один раз, далее работаю с индексами

Последний раз редактировалось Vlasenko Fedor, 23.10.2014 в 14:32.
Ответить с цитированием
  #14 (permalink)  
Старый 23.10.2014, 14:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068


<style>
  .red {
    color: red;
  }
</style>
<p class="hello">Lorem ipsum dolor sit amet, consectetur</p>
<p class="hello">Sapiente in delectus dolorem reiciendis ditii</p>
<p class="hello">Quis dolore autem voluptatibus repellat</p>
<script>
      var pAll = [].slice.call(document.querySelectorAll('p.hello')),
      timer = setInterval(function () {
      pAll.length ?  pAll.shift().classList.add('red') : clearInterval(timer)
    }, 2000);
</script>
Ответить с цитированием
  #15 (permalink)  
Старый 23.10.2014, 15:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Poznakomlus, выполнение чего-то "по таймауту" не предполагает скоростного выполнения.

Т.ч. пример от рони выглядит куда приятнее и понятнее...
Ответить с цитированием
  #16 (permalink)  
Старый 23.10.2014, 16:00
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

ksa,
То есть ты поддерживаешь идеологию что нужно писать понятливый код осуществляя при этом не нужные действия и вычисления для того, чтобы всем было понятно.
Ок принимается точка зрения. Я привел сколько итераций лишних на 1000
Ответить с цитированием
  #17 (permalink)  
Старый 23.10.2014, 16:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Poznakomlus,
мысли вслух ... те кто производит операции с огромным количеством обьектов ... врятли нуждаются в простом и понятном
Ответить с цитированием
  #18 (permalink)  
Старый 23.10.2014, 16:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Poznakomlus
осуществляя при этом не нужные действия
Вот эта приписка мне не понятна...
Т.к. в примере оных просто нет. Там все действия нужные...
Ответить с цитированием
  #19 (permalink)  
Старый 23.10.2014, 16:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Poznakomlus
Я привел сколько итераций лишних на 1000
Да хоть на мильен! Там все действия делаются с интервалом. Т.е. никакого ускорения и не требуется...
Ответить с цитированием
  #20 (permalink)  
Старый 23.10.2014, 21:27
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от danik.js
BETEPAH, твой getByClassName тоже в IE8 не работает )
ага. Только это не мой, эта часть взята из топика
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти нужный элемент страницы и кликнуть если он имеет тока класс... Александр_1997 Events/DOM/Window 3 18.01.2014 14:34
Как добавить задержку? SnakeAce Ваши сайты и скрипты 7 29.10.2013 19:56
Как при появление класса в блоке1, добавить класс в блок2? raindew jQuery 3 11.10.2013 21:05
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55