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

animacja przy określonej wysokości przeglądarki

Object Storage Arubacloud
0 głosów
407 wizyt
pytanie zadane 17 lipca 2018 w JavaScript przez SoDoIt Obywatel (1,190 p.)
edycja 17 lipca 2018 przez SoDoIt
Witam, chciałbym stworzyć animację która odpala się dopiero kiedy użytkownik zjedzie do danej sekcji.
Dlaczego ten kod nie działa a konsola wyświetla error że funkcja getBoundingClientRect() jest pusta. Z góry junior przeprasza za brak wiedzy :P
 

https://codepen.io/jakub-woowski/pen/ejzdez

Mam pomysł, wydaję mi się że po prostu ten kod nie dodaje mi klasy emph::before która odpowiada w sumie za tą animacje
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
tak przy okazji to nie jesteś w stanie wrzucić takiego kodu na Codepena? + html jeszcze

O wiele łatwiej by się pomagało i pewnie sporo szybciej dostałbyś odpowiedź :)

3 odpowiedzi

+2 głosów
odpowiedź 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
const contact = document.querySelector('contact__header');

a czy przypadkiem nie brakuje Ci gdzieś tutaj kropeczki? :P bo co to za selektor contact__header?

komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)
O dzizas faktycznie :D Ale mimo to animacja nie działa xd
1
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
a gdzie masz np zdarzenie scrollowania?
Jak chcesz żeby coś działo się po kliknięciu to podpinasz pod jakiś element listener, a teraz o ile dobrze rozumiem chcesz żeby coś działo się podczas scrollowania?
To też wypadałoby ogarnąć, bo tak to cały ten Twój kod odpala się tylko raz.
komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)
on ma się odpalać tylko raz. Mianowicie chodzi to że jak użytkownik przescroluje do sekcji to ma zadziałać efekt podkreślenia nagłówka i efekt tego pozostać.
1
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
no dobra, ale czy przypadkiem nie pobierasz pozycji scrolla tylko raz na starcie? czyli jak jest na samej górze i ma 0? :D

zapisujesz se w zmiennej to 0, ktoś scrolluje, scrolluje, nadal scrolluje a to 0 jest nadal zerem :D
komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)
a to jak to zrobić żeby sprawdzało cały czas  ? xd pętlą to zrobię ?
1
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
no przecież Ci już wyżej podpowiedziałam podczas jakiego zdarzenia powinieneś mieć to sprawdzane :P
komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)
proszę spojrzeć czy o to chodzi (chyba powinienem wrócić do tutoriali) :D
1
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)

no co tu dużo pisać, konsola powie Ci wszystko...

komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)

już nie ma błędów cheeky

1
komentarz 17 lipca 2018 przez imklau Nałogowiec (42,090 p.)
powiem Ci, że już strasznie nakombinowałeś w tym kodzie.

Zastanów się dobrze, czego oczekujesz, co powinno się wydarzyć i nawet rozpisz sobie na kartce po polsku co i jak.

Albo przeczytaj sobie tak ze zrozumieniem swój kod, bo podejrzewam, że Ty sam nie wiesz, co tam się dzieje :D
+1 głos
odpowiedź 17 lipca 2018 przez thryndl Nałogowiec (30,470 p.)
window.addEventListener('scroll', function () {
	let h2 = document.querySelector('.contact__header')
	
	if(window.scrollY >= h2.getBoundingClientRect().top) {
		h2.style.transition = '3s all'
		h2.style.color = 'blue'
    } else {
		h2.style.color = 'red'
    }
})

Masz przykład działającego "mechanizmu" ze sprawdzaniem warunku.

Jak chcesz sprawdzić, czy działa w obie strony to po zeskrolowaniu w górę, naciśnij ctrl + - żeby oddalić stronę.

0 głosów
odpowiedź 17 lipca 2018 przez Kondzio Mądrala (5,230 p.)
a przypadkiem nie musisz dodać do getBoundingClientRect() dodatkowej wartości window.scrollY?

contactHeight = contact.getBoundingClientRect().top + window.scrollY;

Po omacku trochę próbuję ale warto sprawdzić.
komentarz 17 lipca 2018 przez SoDoIt Obywatel (1,190 p.)
nope, to nie to ;D

Podobne pytania

+1 głos
2 odpowiedzi 134 wizyt
0 głosów
1 odpowiedź 533 wizyt
pytanie zadane 21 sierpnia 2018 w JavaScript przez hun1er76 Stary wyjadacz (11,960 p.)
0 głosów
1 odpowiedź 676 wizyt
pytanie zadane 18 listopada 2017 w JavaScript przez SzukającyPrzygód Bywalec (2,310 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...