• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodanie klasy "animated" gdy scrollowanie uderzy element footer

0 głosów
286 wizyt
pytanie zadane 9 grudnia 2018 w JavaScript przez medamis Użytkownik (660 p.)

Cześć. Chciałbym aby przy scrollowaniu do elementu footer została dodana css klasa "animated" do obrazka o klasie "laweta-2". Mój kod do tej pory wygląda tak: 

window.onscroll = () => {
  const footer = document.querySelector('footer');
  const footerHeight = footer.getBoundingClientRect().top;
  const laweta = document.querySelector('.laweta-2');
  var scrollPosY = window.pageYOffset | document.body.scrollTop;

  if (scrollPosY >= footerHeight) {
    laweta.classList.add('animated');
  } else {
    laweta.classList.remove('animated');
  }
};

Jednak to nie działa w odpowiednim momencie. Uprzejmie proszę o pomoc.

1 odpowiedź

0 głosów
odpowiedź 9 grudnia 2018 przez Grzegorz :> Dyskutant (8,050 p.)

W kodzie klasa zostaje nadana, gdy pageYOffset jest większy lub równy top footera. Wydaje mi się, żeby nadać klase 'animated' wtedy gdy scroll uderzy element footer musisz zrobic  tak:
 

  if (scrollPosY >= footerHeight-window.innerHeight)

 

komentarz 14 grudnia 2018 przez medamis Użytkownik (660 p.)
niestety u mnie się to nie sprawdza

Podobne pytania

0 głosów
1 odpowiedź 2,595 wizyt
pytanie zadane 8 września 2015 w HTML i CSS przez Alterwar Dyskutant (7,650 p.)
0 głosów
2 odpowiedzi 2,276 wizyt
0 głosów
1 odpowiedź 750 wizyt
pytanie zadane 28 października 2018 w HTML i CSS przez htkuba Użytkownik (700 p.)

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...