ความคิดเห็น •

  • @user-sq6zn4te1f
    @user-sq6zn4te1f 5 ปีที่แล้ว +19

    Большое спасибо за Ваш труд. Вас всегда приятно смотреть. :)

  • @3dzbot
    @3dzbot 5 ปีที่แล้ว +3

    Просто шикарный урок. Спасибо!

  • @capy7773
    @capy7773 5 ปีที่แล้ว +1

    Очень доступно и интересно объясняете, спасибо!

  • @MArt-lz9xu
    @MArt-lz9xu 5 ปีที่แล้ว +1

    Огромное спасибо за, Ваши, уроки. Записывать урок в 7:30 не каждый сможет :) , но мотивирует и Вас и меня двигаться по тернистому пути изучения Js.

  • @rk_projects
    @rk_projects 4 ปีที่แล้ว +2

    Самые лучшие и доходчивые уроки у вас, все предельно ясно и понятно, спасибо. На ваших уроках написал интернет магазин, постепенно добавляю в него интересные фишки, тоже из ваших уроков, ещё раз спасибо за такой труд 👍

  • @marinaermilova7912
    @marinaermilova7912 5 ปีที่แล้ว +2

    Привет, было очень трудно, но невероятно интересно. Я справилась. Спасибо большое. Это круто и гениально, и никого не слушайте - вы лучший.

  • @dmitryivanov3200
    @dmitryivanov3200 5 ปีที่แล้ว

    Спасибо за ваши видео!

  • @KirillKlimov_lds
    @KirillKlimov_lds 5 ปีที่แล้ว

    Спасибо! Очень интересный пример!

  • @nikitajolobov4591
    @nikitajolobov4591 3 ปีที่แล้ว

    Круто, спасибо за ваши уроки!

  • @muhtoryusufjanov3946
    @muhtoryusufjanov3946 5 ปีที่แล้ว +2

    Thanks ) всегда приятно интересно и понятно

  • @ikatsulaia7468
    @ikatsulaia7468 2 ปีที่แล้ว

    контент на высоте, все понятно и круто!

  • @swartex92
    @swartex92 4 ปีที่แล้ว

    Автор, спасибо вам большое! пример простой и очень доходчивый!
    интересно бы было посмотреть что-то более сложное)

  • @schroedingerscat6810
    @schroedingerscat6810 4 ปีที่แล้ว

    Спасибо за урок.

  • @shinera-8504
    @shinera-8504 ปีที่แล้ว

    Доходчиво и понятно, спасибо.

  • @dmytrolambru2984
    @dmytrolambru2984 5 ปีที่แล้ว

    Огонь, спасибо !

  • @user-gg3bv6qx8y
    @user-gg3bv6qx8y 5 ปีที่แล้ว +17

    Очень доходчиво объясняете. Было бы неплохо увидеть мини курс по созданию телеграм бота на JS на или на Python.

    • @user-ms5vu1zp9d
      @user-ms5vu1zp9d 2 ปีที่แล้ว

      Там все легко на js сам бот за 15м пишется остальное только твоя фантазия

  • @justpeace7852
    @justpeace7852 ปีที่แล้ว

    Благодарю 🎉, как раз искал lazy load а тут у учителя оказывается все давно есть

  • @MegaTesei
    @MegaTesei 2 ปีที่แล้ว

    Очень круто!

  • @yakut54
    @yakut54 ปีที่แล้ว

    Дядька, спасибо тебе! Очень помог. Минус велосипед. Минус магия. 👍

  • @ivanmaslow2137
    @ivanmaslow2137 4 ปีที่แล้ว

    Мне понравилось, лайк и комментарий!

  • @user-jl1jz5jv1g
    @user-jl1jz5jv1g 5 ปีที่แล้ว

    хороший урок, не знал про этот интерфейс.обычно юзают плагин lazzyload, полезно!

  • @alexeska739
    @alexeska739 5 ปีที่แล้ว

    Вот с музычкой в конце видео стало особенно классно!!!

  • @ruslan5481
    @ruslan5481 3 ปีที่แล้ว

    Спасибо!

  • @user-ec6fr6wk8w
    @user-ec6fr6wk8w 4 ปีที่แล้ว

    Годный контент

  • @entity9069
    @entity9069 5 ปีที่แล้ว

    Круто!

  • @machete6045
    @machete6045 5 ปีที่แล้ว +18

    Урок хороший, но автор забыл показать отключение слежки уже загруженных изображений, можно было дать класс img и по нему делать отслежку, после загрузки в функции loadImage удалять этот класс + observer.unobserve(image);

    • @4ITTonik
      @4ITTonik 4 ปีที่แล้ว +1

      В своём решении я получаю все img с классом lazyload, потом выполняю всю слежку, не вижу смысла удалять например этот класс по которому был отбор, в моём случае lazyload, т.к это ни на что не влияет, а в Dev Tools может помочь другим, а насчёт unobserve вы правы, это обязательный момент.

    • @waynecollin6888
      @waynecollin6888 2 ปีที่แล้ว

      I guess it's pretty randomly asking but does anybody know a good place to stream newly released series online ?

    • @benicioraylan453
      @benicioraylan453 2 ปีที่แล้ว

      @Wayne Collin Flixportal :D

    • @waynecollin6888
      @waynecollin6888 2 ปีที่แล้ว

      @Benicio Raylan thank you, signed up and it seems to work :) I appreciate it !!

    • @benicioraylan453
      @benicioraylan453 2 ปีที่แล้ว

      @Wayne Collin You are welcome xD

  • @user-et2me5vv4d
    @user-et2me5vv4d 5 ปีที่แล้ว +4

    Добрый день, спасибо за ваши уроки!
    На днях читал статью про Lazy loading. Там рассматривали метод, который вы используете и говорят о том, что этот метод не совсем то, что нужно.
    Убирая адрес картинки, поисковые роботы не индексируют изображения и плохо влияют на СЕО.
    РЕШЕНИЕ: оставлять атрибут src пустым, но источник картинки указывать не в data атрибуте, а использовать srcset. Таким образом, картинки будут индексироваться.

    • @rmnkot
      @rmnkot 5 ปีที่แล้ว +1

      Можно в src ложить base64 img , а из data подменять потом

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      Прочитал про srcset, не совсем то, что нужно. Тут лучше подойдёт правильное заполнение alt из базы на сервере при первоначальном запросе для каждой "картинки". Павук прочитает alt и будет удовлетворён.

  • @johhnybee
    @johhnybee 5 ปีที่แล้ว

    Дякую!

  • @user-iw2ut9ig4s
    @user-iw2ut9ig4s 5 ปีที่แล้ว

    Замечательный урок, пригодится в будущем. Спасибо

  • @N5O1
    @N5O1 4 ปีที่แล้ว +3

    Скроллбар говорит о том, что при подгрузки первого изображения место резервируется сразу для всех но подгрузка идёт только при прокручивании.

  • @divocean4085
    @divocean4085 5 ปีที่แล้ว +2

    Добавлю, что у IntersectionObserver не лучшая поддержка браузерами, надо обязательно использовать полифилл

  • @vazgenaleksanyan2929
    @vazgenaleksanyan2929 5 ปีที่แล้ว

    Круто. Спасибо. жалко жалкий ie не поддерживает.

  • @nikitajolobov4591
    @nikitajolobov4591 3 ปีที่แล้ว

    Сегодня обнаружил один нюанс, подстановка значения из атрибута data в src происходит бесконечное количество раз при прокрутке страницы и каждый раз изображение загружается (по крайней мере срабатывает событие load несколько раз на одно и тоже изображение). Не знаю насколько это грузит браузер, но я сделал доп проверку на значение в src, на всякий случай=)

  • @aleksdobriy6941
    @aleksdobriy6941 5 ปีที่แล้ว

    Еще бы понимать как на СЕО отразятся картинки с пустым атрибутом src
    За урок Спасибо!

  • @setcoloursru
    @setcoloursru 5 ปีที่แล้ว

    Подскажите пожалуйста что делать, если используешь визуальный редактор? Там только атрибут src. То есть data надо каждой картинки вручную подписывать или с помощью скрипта?

  • @ilyasheva276
    @ilyasheva276 5 ปีที่แล้ว +18

    Объясните пожалуйста, как js понимает, что myImg это ваши картинки, когда явного указания и задачи переменной не было? Спасибо за ответ!

    • @ptahrussia
      @ptahrussia 5 ปีที่แล้ว +4

      ( 14:15 )
      Картинки передаются в последних строках кода методом observe(). Через этот метод мы указываем на элементы (в данном случае картинки), за которыми надо следить. Когда браузер запускает функцию handleImg , то в качестве первого аргумента передаётся список объектов, созданных на основе отслеживаемых элементов (а точнее объекты типа IntersectionObserverEntry, где свойство target является отслеживаемым элементом).
      Собственно, просто выведите myImg в консоль и всё станет ясно.

    • @slava_po
      @slava_po 5 ปีที่แล้ว

      @@ptahrussia Некорректно ответили. Я так понимаю вопрос Ilya Sheva все таки из основ js. Александр надо было использовать opacity для более наглядного примера. То есть при прокрутке картика постепенно проявлялась. А так не понятно картика так там стоит или она появляется. Это не критика, просто урок был бы более интересным. И не надо так близко к сердцу принимать критику, вы же профессионал а тут много новичков. Спасибо за уроки, продолжайте!!!

    • @ilyasheva276
      @ilyasheva276 5 ปีที่แล้ว +4

      ​@@ptahrussia Спасибо за ответ. Но у меня собственно вопрос, почему тогда в handeImg передача именно этого объекта в качестве первого аргумента? откуда handleImg получает информацию о том что взять нужно именно этот объект? Ведь мы всего лишь передаем какой-то аргумент, и назвать его можно как угодно. А handleImg уже знает что первый арг - конкретный объект. Извините за тупость если что!

    • @ptahrussia
      @ptahrussia 5 ปีที่แล้ว +1

      @@ilyasheva276 Да не надо ей ничего знать. Просто при вызовах метода observe() браузер готовит массив объектов (как - не знаю, это уже внутренняя логика), назовём его условно list. и когда приходит пора (опять же это всё внутренняя логика) запускает функцию handleImg(list, observer), передавая первым аргументом подготовленный ранее массив list, а вторым объект intersectionObserver. Почему запускается именно handleImg? Потому что мы указали её имя при создании observer (строка 22).

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว +2

      @@slava_po opacity тут не подходит совсем, смысл видео в lazy load, загрузке по мере необходимости. При использовании opacity все изображения будут загружены сразу.

  • @gartwa7642
    @gartwa7642 4 ปีที่แล้ว

    Как добавить исключение?
    Или сделать для отдельного div?

  • @user-wi1wp9de2i
    @user-wi1wp9de2i 4 ปีที่แล้ว

    Урок -просто супер!!!Подскажите,пожалуйста,а почему после фигурных скобок стоят круглые скобки? В частности, в 15 и 26 строках!

  • @gerz_og
    @gerz_og 5 ปีที่แล้ว

    Огонь!!!!!!!!!!!

  • @rickgrimes7734
    @rickgrimes7734 5 ปีที่แล้ว

    Александр ,здравствуйте
    Очень интересный и полезный видос.Хотелось бы спросить ещё ,будет ли продолжение курса по созданию интернет магазина Php +JQuery?
    Спасибо.

  • @Naryck
    @Naryck 5 ปีที่แล้ว +1

    Александр, а можете сделать галерею? в смысле, чтобы как в карусели прокручивалась картинка (слева направо или справа налево), снизу маленькие thumbnail'ы.
    ну и тоже круто, если бы подгружалось лениво (lazy).
    хотя, догадываюсь, что это может быть на два-три видео тема. да и надо ли оно вам?

  • @user-fh7uq3jy5o
    @user-fh7uq3jy5o 3 ปีที่แล้ว

    Спасибо! А что делать, если я вставляю webp картинки через picture?

  • @SergMirny_yt
    @SergMirny_yt 5 ปีที่แล้ว

    Спасибо за урок. Честно говоря не совсем понял вот какой момент. Мы вызываем handleImg без передачи параметров при создании объекта observer, а как в handleimg попадает на вход массив изображений myImg и где и как он вообще формируется?

    • @leaf5960
      @leaf5960 5 ปีที่แล้ว +1

      Почитай про callback и потом поймешь)

  • @WhoCat
    @WhoCat 5 ปีที่แล้ว +1

    Спасибо за урок. Но возникли трудности с встраиванием PHP, пытаюсь сделать загрузку новостей по мере прокрутки, всего блока, а не только картинки внутри него, только понять как это сделать не получается.

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว +2

      Гугл в помощь, ключевые слова XMLHttpRequest, ajax, fetch (первое самое старое, так, добавил чисто попонтоваться )) второе и третье актуальны). Смысл в двух словах: во время работы JS в определённый момент (когда ты захочешь, страница прокрутилась, пользователь нажал "ЕЩЁ") делается запрос на сервер (стандартный GET или POST), НО страница не перезагружается. На сервере, по определённому адресу, сидит обработчик такого запроса (на пыхе или ноджс не важно), принимает параметры (чо за пользователь, чо хотел), составляет ответ, и отправляет его, в респонс засовывает JSON объект с нужными данными. По приходу ответа вызывается твой JS код, который разбирает ответ и разпихивает что куда нужно. В настройках ajax или fetch ты указываешь куда стучать (адрес для запроса), как стучать (GET или POST), какие параметры передавать, какую функцию вызывать, когда придёт ответ.

  • @alesiakolbik4710
    @alesiakolbik4710 5 ปีที่แล้ว +2

    Спасибо за урок. Только Вы не рассказали о поддержке браузерами, IE вообще не поддерживает данный объект.

    • @MegaTesei
      @MegaTesei 2 ปีที่แล้ว

      Хорошо, что напомнил, а то я думал какой метод лучше. Выбрал без обсервера.

  • @виртуоз_ру
    @виртуоз_ру 5 ปีที่แล้ว

    Сделайте подгрузку контента с ним. По подгрузке изображений много, а вот контента нет.

  • @user-jl1jz5jv1g
    @user-jl1jz5jv1g 5 ปีที่แล้ว

    про обсервер подробнее!

  • @heograf
    @heograf ปีที่แล้ว

    Очень класно код написан. Повторил у себя на компе - все работает. Но не могу понять логики. Как созданый экземпляр объекта "observer" принимает парамет колбэк функцию "handleImg", в которой парамет этот же экземпляр объекта "observer"? Просто шарики за ролики заходят. Javascrip сведет меня с ума.

  • @PizekattoX
    @PizekattoX 4 ปีที่แล้ว

    А ничего, что при обратном скролле срабатывает обзервер? Может стоило дописать observer.unobseve(MyImgSingle.target)

  • @DrZlad
    @DrZlad 5 ปีที่แล้ว

    Большое спасибо!!!
    Интересно. А что если картинки добавлять по таймеру.
    10% инфы ( вся инфа верху страницы) загрузить сразу, а остальную через пару сек, и то частями, по отношению к низу.
    Соц сетям это не подойдёт.
    Но статичным крупным страницам?!

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      Можно, но зачем тогда браузер отслеживает кучу событий? Реакция на события более гибкая и логичная. Например, чел начнёт быстро мотать, что тогда? Тупняки? Другой залипнет на первой картинке, а мы ему будем бесполезно грузить сотню снизу? Если бы инструментов не было, это одно.

  • @romanmed9035
    @romanmed9035 2 ปีที่แล้ว

    ссылка на сайт уже много дней не работает. вероятно и сайта самого уже нет за прошествием времени?

  • @vazgenaleksanyan2929
    @vazgenaleksanyan2929 5 ปีที่แล้ว

    Для тех кто поддержит ie
    const images = document.querySelectorAll('.image-item img');
    if((navigator.userAgent).match('MSIE') || (navigator.userAgent).match('Trident')) {
    [].forEach.call(images, function(el){
    loadImage(el);
    })
    }
    а еще стрелочную функцию заменить на обычную.

  • @user-tf2oi3ef1w
    @user-tf2oi3ef1w 5 ปีที่แล้ว +3

    Обзервер, а не обсёрвер. Обзервер от английского to observe(наблюдать), а обсёрвер от обсёр

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      <
      sarcasm>7 раз просмотрел видео - ничего не понял. Прочитал твой коммент - сразу стало всё понятно. Очень, очень полезная информация.<
      /sarcasm>

  • @AndrewMarsin
    @AndrewMarsin 5 ปีที่แล้ว

    Когда обратно наверх скролишь, уже загруженные картинки снова загружаются скриптом в Network. Видимо поэтому готовые Лейзи Лоад скрипты имеют намного больше кода...

  • @user-cq8bt8bp8e
    @user-cq8bt8bp8e 5 ปีที่แล้ว

    Александр, а как быть если изображения все разных размеров...?

    • @user-cq8bt8bp8e
      @user-cq8bt8bp8e 5 ปีที่แล้ว

      @@xOceanSpirit Понятно, благодарю

  • @simplewebdev1098
    @simplewebdev1098 5 ปีที่แล้ว

    Забыли добавить, поддержка 85%. Значит, желательно предусмотреть проверку, если intersectionObserver = undefined просто загрузить все картинки сразу, пусть и дольше, но сайт покажет все картинки. Если нет, то 15% пользователей просто не увидят картинки вообще.

  • @Vadim_BBB
    @Vadim_BBB 5 ปีที่แล้ว +1

    Спасибо за урок! Подскажите, как после загрузки картинки, отписаться от этого обзервера?

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว +1

      Хороший вопрос, в смысле, правильный. Обычно JS-программистов не заботят вопросы оптимизации, то, что IntersectionObserver бесцельно будет продолжать устанавливать src уже показанным картинкам при прокрутке страницы. Я такое тоже не люблю.
      У IntersectionObserver есть два метода (читайте документацию, на англицком) unobserve(target) и disconnect(). Первый удаляет наблюдение за определённым элементом, второй за всеми. Для наших целей нужно при присвоении src очередной картинке вызывать unobserve(target), т.е. прекращать наблюдение за ней.

    • @Vadim_BBB
      @Vadim_BBB 5 ปีที่แล้ว

      @@simplewebdev1098 , благодарю! Теперь тема для меня открыта полностью) Еще раз спасибо за Ваш труд!

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว +1

      @@Vadim_BBB пожалуйста. Только я не автор видео ))

  • @lisofsky8151
    @lisofsky8151 ปีที่แล้ว

    это золотая инфа так как google page speed всегда любит и трребует с сайтов этот способ оптимизации

  • @someguy567
    @someguy567 5 ปีที่แล้ว +1

    Уроки хорошие. Хорошо рассказываешь. Но я не понял зачем выдумывать и передавать в функцию новый параметр MyImg, если у тебя уже получена переменная images? Опытные поймут, но новичков очень запутывает. Если сделать вот так, то будет работать так же.
    function handleImg(images, observer) {
    images.forEach(img => {
    console.log(img.intersectionRatio);
    if (img.intersectionRatio > 0) {
    loadImage(img.target);
    }
    })
    }

    • @leaf5960
      @leaf5960 5 ปีที่แล้ว

      лол, так ты же сделал тоже самое, как и на видео) Берешь images с аргумента) Только переименовал аргумент на images и это роли никакой не играет)

    • @someguy567
      @someguy567 5 ปีที่แล้ว

      @@leaf5960 А ты мой комментарий внимательно прочитал? Я и говорю что разницы никакой нет, но в моём примере понятнее что откуда берется и передается. К тому же в комментариях люди уже писали что не понимают откуда он взял параметр MyImg

    • @leaf5960
      @leaf5960 5 ปีที่แล้ว

      @@someguy567 ну так MyImg совсем другой объект, который передает в колбэк именно interserction observer с дополнительными полями. Это не объект images c квери листом, который мы получили с помощью querySelector. Какая разница как его называть? Тогда уже лучше назвать что-то типа как imagesObservers.

  • @nwrio
    @nwrio 5 ปีที่แล้ว +4

    2:16 А вот ваабщета const не запрещает добавление новых элементов в массив))

    • @kulakofft4
      @kulakofft4 3 ปีที่แล้ว

      Я вот тоже на этом моменте закрыл видос)))))

  • @webprogrru3225
    @webprogrru3225 3 ปีที่แล้ว

    +

  • @DerAleksey
    @DerAleksey 2 ปีที่แล้ว

    сложно, но вроде более менее понятно

  • @user-sj1dn9zl9k
    @user-sj1dn9zl9k ปีที่แล้ว

    А если картинки разного размера?

  • @SnitchShow
    @SnitchShow 5 ปีที่แล้ว

    Тема интересная, но не до конца понятен один момент. Если взять к примеру стену в ВК, то там я так понимаю при прокрутке делается запрос к серверу ВК, который отдает нужный контент а JS на стороне клиента уже добавляет блоки. Или же на странице сразу выгружается весь нужный контент а потом при помощи JS он уже выстраивается?

    • @SergMirny_yt
      @SergMirny_yt 5 ปีที่แล้ว

      конечно подгружается... Подгружается аяксом, с сервера приходят данные в фоне, а скрипт их отображает в верстке

  • @VirtexR
    @VirtexR 2 ปีที่แล้ว

    аваст стоит чтобы показывать таргетированию рекламу?)

  • @gess1485
    @gess1485 5 ปีที่แล้ว

    Кто-нибудь пробовал с целыми div'ами?

  • @thisreal
    @thisreal 5 ปีที่แล้ว

    Выгрузка картинок которые не в зоне видимости, можно как-то реализовать?

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      Что значит выгрузка?

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      @@Nomikama можно src="" можно display:none можно visibility:hidden можно opacity:0 можно удалять сами блоки, можно заменять картинку на дефолтную. Конкретное решение зависит от ответа на вопрос "зачем?". Это я и имел ввиду, когда спрашивал, что такое выгрузка? Зачем выгружать картинки, чего мы хотим добиться?

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      @@Nomikama я очень сомневаюсь, что это может стать проблемой, современные браузеры довольно умные. То, что картинка находится на странице, но вне области видимости, никак не отразится на производительности. Ну такое, надо, значит надо (если, конечно, это имелось ввиду).
      В функции колбэка нужно добавить проверку, если intersectionRatio == 0 то удалять src у этого элемента.

  • @aleksandrstaetskiy5687
    @aleksandrstaetskiy5687 5 ปีที่แล้ว

    замечательное видео, спасибо! только IntersectionObserver не работает на ie 11 (((

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว +1

      Вроде разговор был о браузерах, а не о кастомках маленькой инди-компании? Если сильно нужно, используйте полифилл или проверку на совместимость и альтернативные решения ( я предлагаю, если new IntersectionObserver undefined то грузить всё сразу).

    • @suslikest3708
      @suslikest3708 3 ปีที่แล้ว

      Я бы грузил все сразу на ослика и еще умножил на 10 чтобы юзер ослика страдал.

  • @uaplatformacomua
    @uaplatformacomua 5 ปีที่แล้ว

    Непонятно, откуда взялось myImg и как код его понимает

    • @Roma1995xx
      @Roma1995xx 5 ปีที่แล้ว +2

      Так локально будет названа переменная внутри функции handleImg, для конструктора обсервера, это будет функция callback, куда он должен будет передать массив отслеживаемых объектов. Откуда он их берет? Из цикла, что перебирает изображение и для каждого вызывает метод observe из экземпляра обсервера, ранее созданного, метод в свою очердь скорей всего является ссылкой на .push(), у массивов, таким образом элементы попадают в объект, который должен быть передан в функцию callback, то есть, ту, которая будет совершать какие либо манипуляции над массивом объектов. Как он в итоге попадает в обработчик? Это не очень очевидно, поскольку тут использована не явная особенность языка, если в callback передать только имя функции и не указать передаваемых параметров, то будет переданы все параметры, которые могут быть переданы, в ином случае будут передано число параметров соответствующее числу переданных в callback параметров, в том порядке в каком они поступили в родительскую функцию, но это не гарантированное поведение, поскольку оно может быть переопределено.
      Попробуйте выполнить данный код в консоли вашего браузера и должно стать немного понятней.
      a = (...args) => console.log('It comes from a', args);
      let e=4, d=5, f=6;
      b = (cb,...data)=>cb(data);
      b(a, [1,2,3], {e,d,f});

    • @uaplatformacomua
      @uaplatformacomua 5 ปีที่แล้ว

      @@Roma1995xx Спасибо огромное за Ваш развернутый ответ!!!

  • @UkraineAb0veAll
    @UkraineAb0veAll 5 ปีที่แล้ว

    спасибо за интересное и полезное видео
    есть такой вопрос: как можно изменить код, чтобы картинка/блок при прокрутке скрывались. т.е. чтобы видно было только то, что начинает появляться в фокусе (а предыдущий контент чтобы скрывался)? напр.. как здесь - goloski-kruchi.com.ua/

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      Видно будет только то, что в фокусе. )) Что вы хотите делать с контентом, уходящим с экрана, его же и так не видно?

    • @UkraineAb0veAll
      @UkraineAb0veAll 5 ปีที่แล้ว

      @@simplewebdev1098 на некоторых сайтах есть такой эффект и реализован он с помощью Animate.css (напр.,блок выезжает слева в центр, а когда прокручивается страница далее, то этот блок снова скрывается за левой границей экрана)
      в данном примере после первого появления картинки остаются видны все, равно как и при зуме страницы (уменьшил масштаб - увидел все картинки)

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      @@UkraineAb0veAll это по сути 2 разных задачи. В Видео решается задача lazy load - отобразить страницу как можно быстрее, а потом по мере необходимости подгружать контент. Для такой задачи поведение адекватное - ну и хорошо, что при зуме видны ранее загруженный картинки. Твоя задача немного другая, можно сделать так: колбэк вызывается при каждом ПОЯВЛЕНИИ и СКРЫТИИ на указанный в threshold процент. Причем, срабатывание такого события на КАЖДОМ наблюдаемом элементе. Значит, в функции колбэка нужно отслеживать все эти варианты, у каждого элемента передаётся его степень видимости в момент срабатывания, строить логику на значениях этого показателя, что-то показывать, что-то скрывать, добавлять и удалять классы, чтобы вызвать анимацию. Раньше (и сейчас) это делалось контролем событий прокрутки, считыванием clientOffsetY (смещение клиентского окна от верха документа) и по определённым порогам ставились триггеры.
      В общем, если есть конкретная задача могу помочь, мне самому интересно.

    • @UkraineAb0veAll
      @UkraineAb0veAll 5 ปีที่แล้ว

      @@simplewebdev1098 спасибо за ответ
      конкретной задачи нет - я просто самостоятельно изучаю JS, а подобный эффект мне понравился и потому захотел разобраться с его реализацией

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      @@UkraineAb0veAll мне тоже, но без реальной задачи быстро надоедает ))

  • @sinaktenone9882
    @sinaktenone9882 5 ปีที่แล้ว

    зачем показывать лейзи лоад на примере инструмента который в данный момент не является частью стандарта языка, он только Working draft и не известно станет ли это вообще стандартом, хоть почти все браузеры его уже поддерживают. В проде такое лучше не юзать пока

  • @viktormoskalev2269
    @viktormoskalev2269 4 ปีที่แล้ว

    Если верить can i use работать это все будет только в хроме

  • @user-pf6xu7vl3g
    @user-pf6xu7vl3g 5 ปีที่แล้ว +2

    Не совсем понимаю смысл этого всего

  • @ABCDEblya
    @ABCDEblya 3 ปีที่แล้ว +1

    Судя по ремарке о const, автор привык к старому EcmaScript, и не понимает, что такое const в js.

  • @BasicD2002
    @BasicD2002 3 ปีที่แล้ว

    Максимально убогий урок... Каждый день вижу сайты с 5 картинками в ряд, супер