Простые решения для сложных задач с Intersection Observer API

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 90

  • @eliaseugene1270
    @eliaseugene1270 2 года назад +6

    я в очередной раз удивляюсь, на сколько ваш контент актуален в моем рабочем проекте, спасибо за труды)))

  • @user-no2rk3rz4e
    @user-no2rk3rz4e Год назад

    Лучшее объяснение Intersection Observer

  • @Pavelius
    @Pavelius 3 месяца назад

    Спасибо за урок, достаточно понятно и с реальными примерами

  • @nikolaysmolov8031
    @nikolaysmolov8031 Год назад

    Класс! Давно хотел разобраться, а тут Михаил такой урок сделал! Спасибо!

  • @alexeykuzniecov223
    @alexeykuzniecov223 2 года назад

    Один из лучших каналов, постепенно просматриваю все видео отсюда)

  • @amancalllednoise
    @amancalllednoise Год назад

    Михаил, мое почтение. За одно видео ответил на уйму волнующих вопросов! Лучший !

  • @ShoTHIk
    @ShoTHIk 2 года назад +5

    ЭТО!... ПРОСТО!... ОХ...очень полезный материал! Очень класно доносите информацию, Михаил! Контент максимально информативен - что по Реакту, что по JS в целом.
    Действительно, незаслужено малое количество подписчиков, ведь для вашей целевой вы отличный лектор, ментор, учитель или преподаватель. Но дорогу осилит идущий. С таким качественным контентом быстрый рост подписчиков гарантирован. Главное - регулярность и не останавливаться на достигнутом. Успехов Вам, Михаил! И побольше лайков под видео ;)

  • @AlexGabber
    @AlexGabber 2 года назад +2

    Пару недель назад приходилось изучить observer api и внедрить в задачу) в принципе ничего сложного, но это видео очень полезное и я к нему буду возвращаться точно. Понимание расширилось и теперь хочется заняться практикой на всех своих проектах)) очень полезная штука. А автор как всегда лучший! Честно говоря среди огромного количества каналов, для меня этот один из лучших точно. Михаил) спасибо! Обязательно возьму ваши курсы на udemy

  • @Maxim9575
    @Maxim9575 2 года назад

    Хорошо и понятно рассказываешь, редко такое видишь.

  • @beznamea9549
    @beznamea9549 2 года назад +2

    Какой же у вас годный контент! Спасибо!!!

  • @shittywizzard5727
    @shittywizzard5727 2 года назад +2

    Очень нужная тема, спасибо!

  • @user-hw9cs6te5y
    @user-hw9cs6te5y 5 месяцев назад

    Благодарю, урок отличный и познавательный, больше всего узнала именно из вашего видео.

  • @pvrybakin
    @pvrybakin 2 года назад

    Сегодня узнал о нем, а вчера Михаил выпустил видео о о нем) Спасибо за видео.

  • @vladislove1337
    @vladislove1337 Год назад

    Самое понятное видео на эту тему, спасибо!

  • @IvanZakharanka
    @IvanZakharanka 2 года назад

    Огромное спасибо! Через такие костыли делал подгруку, а оказывется есть такой прекрасный инструмент!

  • @motolife4900
    @motolife4900 2 года назад +1

    отличный разбор

  • @ivanfadeev5389
    @ivanfadeev5389 2 года назад +3

    Спасибо за материал! Подача огонь 🔥

  • @aceracer5556
    @aceracer5556 2 года назад +1

    Спасибо Михаил за подробный обзор!

  • @user-ki6sz4nz3l
    @user-ki6sz4nz3l 6 месяцев назад

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

  • @user-nd9ce7ul4e
    @user-nd9ce7ul4e 8 месяцев назад

    Спасибо за ваш труд! Очень полезная информация!

  • @happy_cutman
    @happy_cutman 2 года назад +1

    Михаил, спасибо за труды!

  • @olegsh2888
    @olegsh2888 2 года назад +1

    Отличный видос, Михаил! Актуальные браузерные апишки - это годнота)

    • @mishanep
      @mishanep  2 года назад

      Сегодня видел прикольную штуку Intl.ListFormat для склеивания массива строк в строку.

    • @olegsh2888
      @olegsh2888 2 года назад

      @@mishanep тоже вчера видел) Было бы круто собрать видос по этому могучему объекту, там уже целый новый мир)

  • @katada
    @katada 2 года назад +1

    Продолжай в том же духе!)

  • @user-fw9hc5lg9f
    @user-fw9hc5lg9f Год назад

    Круто объяснил!

  • @over79751
    @over79751 8 месяцев назад

    Спасибо огромное очень помог !

  • @user-natal04ka
    @user-natal04ka Год назад

    Спасибо!Как все легко, я пол ютуба перерыла, а решение здесь))

  • @unknown.6914
    @unknown.6914 7 месяцев назад

    Отличный урок , спасибо Михаил

  • @EugeneChe-81
    @EugeneChe-81 2 года назад

    С нетерпением буду ждать ещё подобного материала! Вы у меня в Топ-3 ютуба!!!

  • @sergeylunyaka4315
    @sergeylunyaka4315 2 года назад

    да, действительно полезный материал и доступный

  • @Mr04unit
    @Mr04unit Год назад

    просто лучший.

  • @0xSxVKaJnwQ
    @0xSxVKaJnwQ Год назад

    Спасибо!

  • @gregoryzhel
    @gregoryzhel Год назад

    Великолепное объяснение. Спасибо за видео!

  • @user-rw3ry9bd6l
    @user-rw3ry9bd6l 2 года назад

    Отличный контент. Комментарий в поддержку канала

  • @vlasovdanildev
    @vlasovdanildev 2 года назад

    Очень интересное видео, оно сто процентов пригодится, спасибо вам за все Михаил

  • @mikhail_one
    @mikhail_one Год назад

    Невероятно круто, большое спасибо за видео.

  • @ihopeingod1
    @ihopeingod1 Год назад

    Михаил, спасибо вам за подробное объяснение! Вы замечательный преподаватель! Желаю развития вашему каналу!

  • @ardanow1
    @ardanow1 2 года назад

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

  • @Nuts_Cracker
    @Nuts_Cracker 2 года назад

    Огромное спасибо за контент! Как всегда очень полезно!

  • @alsua1297
    @alsua1297 Год назад

    спасибо за видео👍

  • @rzdegor1978
    @rzdegor1978 2 года назад

    Объяснение супер!!!

  • @RK-yk3hj
    @RK-yk3hj 2 года назад +2

    как всегда супер. Зделай видео пo GraphGL + React пажалустаааааааа

    • @mishanep
      @mishanep  2 года назад +1

      И туда однажды доберемся)

  • @alexmlnkv
    @alexmlnkv 2 года назад

    Михаил, спасибо огромное за Ваш труд! Очень полезное видео. Бегу пробовать эту апишку)

  • @boycovclub
    @boycovclub 2 года назад

    Уважуха)

  • @user-artem-busyhin
    @user-artem-busyhin 2 года назад

    Супер. Огромное спасибо!

  • @serjdenisov2114
    @serjdenisov2114 2 года назад

    Спасибо Михаил!

  • @user-le3je2mu4n
    @user-le3je2mu4n Год назад

    Молодец, большое спасибо), оч доступно

  • @from_brest2631
    @from_brest2631 2 года назад

    Круть, видел данную. апишку на инфинит скролле в реакте

  • @azizbekkomilov3589
    @azizbekkomilov3589 2 года назад

    Спасибо за видео ЛАЙК и ждем новых видосов!!!

  • @vladimirmuratov2220
    @vladimirmuratov2220 2 года назад

    Очень крутое видео! Спасибо!!!! 😊

  • @user-cr1pq1wz8v
    @user-cr1pq1wz8v 2 года назад

    Полезно, спасибо!

  • @curillaenator
    @curillaenator 2 года назад

    очень полезная информация!

  • @user-pe4wq2dv7q
    @user-pe4wq2dv7q 2 года назад

    Спасибо. Полезно

  • @vvsl3882
    @vvsl3882 2 года назад

    Супер)

  • @mercury_2379
    @mercury_2379 2 года назад

    ооо, круто, спасибо

  • @lessons3141
    @lessons3141 2 года назад

    очень крутое видео

  • @JUN-17
    @JUN-17 2 года назад +1

    Очень полезно и информативно. Просмотров почему-то мало.👍
    Но никак не пойму, что делает опция root на 0:50 и как его использовать ? Но уже загуглил и понял.)

  • @margino
    @margino 11 месяцев назад +2

    Спасибо за видео, Михаил! Не знаю почему, но у меня rootMargin срабатывает только если прописано одно значение, например, rootMargin: "50px". Если пишу, например, rootMargin: "50px 0px 0px 0px" rootMargin не работает 🙃 Поделитесь если кто-то столкнулся с подобным и нашел решение.

  • @romanstoleru7936
    @romanstoleru7936 2 года назад

    Очень нравиться твоя подача! Но это мне сломало мозги, пойду дальше учить html/css/js xD Когда нибудь это тоже пойму! Спасибо за хорошие уроки!

  • @volod-one
    @volod-one 2 года назад

    Топчик!

  • @dev-to-prod
    @dev-to-prod 2 года назад

    Топ как всегда.

  • @boycovclub
    @boycovclub 2 года назад

    ))) я тут курсы у вас на юдеми покупал, а вы ещё бесплатно курсы тут преподаете

  • @iarmiksafaryan1200
    @iarmiksafaryan1200 5 месяцев назад

    Отлично! Наверное, то что искал.
    А как реализовать такой функционал у меню, чтобы оно автоматически прокручивалось к "активным" пунктам (которые не вмещаются на экране), при скроллинге страницы?

  • @user-ic4dk4sp3y
    @user-ic4dk4sp3y 2 года назад

    thnx fr th vd, круто

  • @0xSxVKaJnwQ
    @0xSxVKaJnwQ 8 месяцев назад

    Вроде все логично и понятно, а потом оказывается, что intersectionRatio возвращает не процент, который занимает элемент относительно рута, а процент относительно самого элемента. То есть, если секция очень длинна, она может перекрыть почти весь вьюпорт, но intersectionRatio будет меньше 0.5 %)

  • @user-di3xd7tq8g
    @user-di3xd7tq8g 2 года назад

    Большое спасибо за вашу работу.
    Хотел спросить что на сегодняшний день лучше учить JOI или YUP.
    и может снимите ролик на эту тему в нете я нашел только англоязычные ролики

  • @sergey_zatsepin
    @sergey_zatsepin 2 года назад

    А если у тебя элемент на первом экране, т.е. по умолчанию пересечён, будешь от обратного идти или по старинке отслеживать позицию скролла? Ну и хотелось бы увидеть пример с root не null

  • @vovergg
    @vovergg 2 года назад

    А как сделать так, чтобы при скролле наврех обзёрвер отарабатывал, когда элемент пересекает своей верхней частью верх экрана (и уходит дальше наверх за пределы экрана), а при скролле вниз, обзёрвер отрабатывает тогда, когда элемент наоборот только начинает появляться сверху (то есть пересекает своей нижней частью верхнюю чать экрана)?
    Как я понимаю, для этого в первом случае обзёрвер должен срабатывать при threshold: 1 (условно будем считать, что высота элемента примерно равна высоте viewport'a), а во втором случае при threshold: 0. И вот как это совместить? Я пока не смог придумать...

  • @govorov_top
    @govorov_top 2 года назад

    Internet Explorer хотя бы 11 поддерживал... а так да, круто и библиотеки не нужны, спасибо!

    • @mishanep
      @mishanep  2 года назад

      Сочувствую, если вам приходится поддерживать IE.

  • @abdulvahhabakbarov7850
    @abdulvahhabakbarov7850 2 года назад +1

    Привет из Узбекистана! пожалуйста, сделайте полное видео о наборе инструментов redux toolkit, об использовании его с почтальоном. Заранее спасибо !

    • @mishanep
      @mishanep  2 года назад

      С каким почтальоном? :)

    • @danildemchenko6004
      @danildemchenko6004 2 года назад +1

      @@mishanep Печкиным, полагаю:)))

    • @abdulvahhabakbarov7850
      @abdulvahhabakbarov7850 2 года назад

      ой Извините Я допустил ошибку ): с postman

    • @digitalturkistan1857
      @digitalturkistan1857 Год назад

      @@abdulvahhabakbarov7850 postman обычно используется бэкенд разработке для написание рест запросов. Redux toolkit это стейт менеджер точнее загатовка для редукса

  • @timchenkod88
    @timchenkod88 Год назад

    Михаил, подскажите пожалуйста, как реализовать пример с якорным меню в React. Если я правильно понимаю, то там нужно использовать API react-intersection-observer. Вот с ленивой загрузкой изображений и запуск/остановка видео у меня получилось сделать, а вот с якорным меню некий ступор возник. Буду признателен, если покажете решение.

    • @mishanep
      @mishanep  Год назад

      Здесь надо посидеть-подумать-погуглить. На первой напрашиваются два решения: либо хранить текущее положение в сторе и обновлять его через обзервер, либо использовать роутинг и через обзервер обновлять url по достижению якоря. Но вполне возможно есть более элегантное решение.

    • @tontontonic
      @tontontonic 25 дней назад

      @@mishanep я пробовал через урл связать и обновлять якорь в урле, но фишка в том, что когда меняешь якорь в урле, то страница сразу сама начинает скроллится до установленного якоря (как будто сменился адрес (а он ведь и правда сменился, там теперь другой якорь) и он открывает новую страницу ).
      Т.е. доскроллил то границы секции с якорем, якорь в урле сменился и бац, браузер делает автоскролл на начало этой секции с якорем.

  • @sartjhon3300
    @sartjhon3300 8 месяцев назад

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

    • @mishanep
      @mishanep  8 месяцев назад

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

  • @КириллСмирнов-ь5ъ
    @КириллСмирнов-ь5ъ 2 года назад

    Привет!!! А можете сделать видео как в React такое использовать?

    • @mishanep
      @mishanep  2 года назад +1

      Приветствую!
      Для Реакта есть удобная библиотека react-intersection-observer. Я думал было снять видео с ее использованием, но реализовал всё намного проще и по-другому =) Тут всегда стоит вопрос, что мы хотим сделать, и уже под него подбираем инструменты.
      ruclips.net/video/PGW36uIVggM/видео.html

    • @КириллСмирнов-ь5ъ
      @КириллСмирнов-ь5ъ 2 года назад

      @@mishanep Привет!!! Подскажите пожалуйста, какой командой стартануть проект? При старте npm start запускается, но пишет --- Note that the development build is not optimized.
      To create a production build, use yarn build.

    • @mishanep
      @mishanep  2 года назад +1

      @@КириллСмирнов-ь5ъ вы всё правильно делаете. Это не ошибка. Уведомление просто уведомляет, что в дев режиме файлы не оптимизированы. Это нормально, так оно быстрее собирается для изменений и отладки. После npm run build или yarn build собирается продакшн вариант приложения, он оптимизирован.

    • @КириллСмирнов-ь5ъ
      @КириллСмирнов-ь5ъ 2 года назад

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

  • @Ivan-ee4pz
    @Ivan-ee4pz Год назад

    Этот канал уже превращается в классику Фронтенд туториалов для нас смертных, ГОДНОТА !!! 2023 год

  • @artemzirka9675
    @artemzirka9675 2 года назад

    Спасибо! Полезный материал с хорошим пояснением.

  • @denys_demianchuk
    @denys_demianchuk 2 года назад

    Спасибо!