Учу JS. Попробовал написать свой Parallax плагин. Сравнил его нагрузку на ЦП с Parallax.js в диспетчере задач Chrome. Мой оказался в разы тяжелее. Ниже я опишу логику которой руководствовался. Как должно быть я понять не смог.
Вопроса два: Почему такая разница? И как должно быть?
Есть массив с объектами, которые нужно двигать. Каждое движение мыши рассчитывает новое положение для каждого объекта (через for(){}
) и отправляет на отрисовку через:
requestId = requestAnimationFrame(animate)
Функция animate
пробегается по отдельному массиву с новыми координатами
(через for(){}
) и отрисовывает движение.
Каждый новый запрос на отрисовку сопровождается отменой предыдущего:
cancelAnimationFrame(requestId)
Посмотреть на функцию в работе можно здесь (2.3Mb)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется страница, на которой находится n-ое кол-во tabs(вкладок), на каждой вкладке есть автоматически создаваемый элемент в виде кнопки "Удалить"...
Нужно сделать трёхуровнёвое меню для интернет-магазина, которое будет открываться по клику
На Chrome для Android не воспроизводится автоматическиПодскажите, пожалуйста, как исправить?