Animation au scroll (Intersection Observer API) - Optimise ton JS ! #3

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2025

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

  • @armandsalle8447
    @armandsalle8447 4 ปีที่แล้ว +7

    C'est hyper cool ! je l'utilise sur bcp de projet, que ça soit pour les animations, on pour faire du lazy loading d'images, de vidéos ou meme de composants 🙌 si je veux faire des grosses animations au scroll j'utilise GSAP avec ScrollTrigger 👍 les perfs sont top

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

      Je n'avais même pas pensé à l'utiliser pour du lazy loading ! C'est hyper propre bien joué, merci du partage ;)

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

    Le big boss du JS a encore parlé.

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

    Nouveau sur ta chaine, t'expliques vraiment bien, continues

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

    Salut ! Je tenais à te remercier, grâce a ton tutoriel j'ai ENFIN réussi a comprendre l'intersection observer, je comprenais rien avec plusieurs tutos, merci beaucoup !! Continue ta chaine !

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

      Ahah super ! Très content de ça ;)

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

    Super comme astuce ! Merci !

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

    très intéressant merci pour la vidéo

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

    Super ! 👍👍👍👍👍👍👍

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

    C'été incroyablement intéressant, merci pour cette vidéo ! :)
    Ça va m'être très utile !

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

    Franchement Bryan tu m’épates là merciii

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

    Super! Très intéressant et très bien expliqué.
    Bravo et merci 👍🏼

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

    Super vidéo ! Je te trouve très pédagogue, j'ai tous compris 😁

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

    top !!!!

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

    Salut merci c'est vraiment pas mal cette API quand même ! Vivement un cas ou j'en aurais besoin.

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

    Clac ! 😂! Super tuto

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

    Super vidéo comme d'hab ! Mais je me demandais du coup, vu qu'ils ne font que les intersectionRatio et pas les pixels précisément , il suffit de partir du principe que 1 intersectionRatio = 100% des pixels, si on récupère la valeur en pixel de l'élément, avec un petit produit en croix on peux en théorie ajuster l'intersectionRatio au pixel près non ?

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

      Exactement ! C'est ce que j'entendais par "en bidouillant un peu" ahah ;)

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

      @@DevTheory ahhh oui forcément c'est ce que je me disais ahah

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

    Merci pour cette super vidéo. En revanche, j'ai un peu de mal à comprendre la différence entre le threshold et le intersectionRatio ?
    J'ai essayé le code ci-dessous. Il fonctionne bien, mais qu'est ce qui fait foi pour le changement du background ? c'est le thresholds ou le intersectionRation ?
    let observer = new IntersectionObserver((entries) => {
    entries.forEach((entry) => {
    if(entry.intersectionRatio > 0.5){
    target.style.backgroundColor = "red"
    }
    })
    },{
    threshold: 0.5
    })
    let target = document.querySelector("div")
    observer.observe(target)

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

      Je vois, en fait le threshold permet de déclencher le callback seulement une fois que l'intersectionRatio l'a dépassé (ou re-dépassé en arrière), son intérêt est de ne pas déclencher le callback à chaque changement même très petit du scroll sur l'élément.
      Donc dans le cas de ton exemple, le code sera exécuter quand on scroll vers le bas et qu'on vient de dépasser 50% de l'élément (= threshold: 0.5), et quand on scrollera à nouveau vers le haut alors le callback s'exécutera encore mais il ne passera pas dans le "if" car l'intersectionRatio sera inférieur à 0.5 dans ce sens.
      Voilà tout !