Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2017, 16:14
Интересующийся
Отправить личное сообщение для NO_ONE Посмотреть профиль Найти все сообщения от NO_ONE
 
Регистрация: 01.03.2014
Сообщений: 19

Lazyload на чистом JS
Привет.
Возникла потребность написать на чистом JS функцию lazyload для img/iframe/etc.

Нашёл хороший готовый вариант, который возвращает true/false, если искомый элемент попал во viewport:

function isInViewport(el) {
    var coords = el.getBoundingClientRect();
    return ((coords.top >= 0 && coords.left >= 0 && coords.top) <= (window.innerHeight || d.documentElement.clientHeight));
  }

  var img = document.getElementById("img");
  window.onscroll = function() {
   if(isInViewport(img)) doSomething();
  }


Окей, а как прикрутить такую функцию для множества элементов? Например, у меня имеется полученная через querySelectorAll переменная images, содержащая несколько картинок.

Если я использую forEach, то каждый раз вешать на window события? Мне кажется, это неправильно.

Объясните, пожалуйста, как такое реализовать.
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2017, 17:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

NO_ONE,
заменить строку 8 на forEach а проверять условие внутри forEach
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2017, 21:43
Интересующийся
Отправить личное сообщение для NO_ONE Посмотреть профиль Найти все сообщения от NO_ONE
 
Регистрация: 01.03.2014
Сообщений: 19

рони,
спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подобное реализовать на чистом js? AntonMs Общие вопросы Javascript 9 05.09.2015 00:09
Аналог jQuery(...).animate на чистом JS 2chan Общие вопросы Javascript 3 12.07.2015 19:23
Пример тестовых заданий на js junior elshaarawy Учебные материалы 3 26.03.2015 15:17
Проекты на чистом js kidar2 Общие вопросы Javascript 7 09.01.2014 14:26
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28