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

Zabawa z scrollem w czystym JS

Object Storage Arubacloud
0 głosów
222 wizyt
pytanie zadane 1 marca 2019 w JavaScript przez mb-dir Mądrala (6,710 p.)

Witam

Ostatnio przeglądając kanał Samuraj Programowania natrafiłem na film pt "Skrolowanie strony a efekty i animacje - Kurs FEZ - bonus 14" - postanowiłem stworzyć coś na wzór tego co jest pokazane na filmie jednak z wykorzystaniem tylko i wyłącznie JS efekt mojej pracy - czy jest to logiczny i poprawny tok myślenia? Czy może jednak istnieją lepsze, bardziej wydajne sposoby na osiągnięcie takiego efektu tylko i wyłącznie w JS?

- Dlaczego tylko JS bez JQuery?

- Ponieważ dopiero zaczynam uczyć się JS i nie chce od razu zaczynać JQuery bez zrozumienia JS'a

Pozdrawiam

 

 

1 odpowiedź

+1 głos
odpowiedź 2 marca 2019 przez JayJay Mądrala (6,020 p.)
edycja 16 marca 2019 przez JayJay
 
Najlepsza
  1. Każde wyrażenie powinno kończyć się średnikiem. Przy czym JS posiada mechanizm automatycznego wstawiania średnika, więc w wielu sytuacjach można uniknąć ręcznego wstawiana tego znaku, ale wtedy trzeba przestrzegać paru reguł, aby interpreter/kompilator JS przetworzył wszystko poprawnie.
  2. Pamiętaj o słowie kluczowym `const` lub odpowiednio `let` przy deklaracji zmiennej.
  3. Nie musisz pobierać elementów wewnątrz funkcji, przy każdym jej wywołaniu, może umieścić odpowiednie zmienne w zakresie całego pliku
  4. Funkcja `change()` jest odpowiedzialna za stworzenie animacji, więc warto użyć Window.requestAnimationFrame() przy jej wywoływaniu
  5. Komentarze są ważne i przydatne, ale nie musisz komentować każdej linii kodu, oczywistych rzeczy, takich jak np. "//Tworzę funkcje change"
  6. Zwróć uwagę na właściwe nazewnictwo zmiennych, np. "zmienna" nie jest dobrą nazwą zmiennej, bo nie mówi nic o jej przeznaczeniu

IMHO to, że ucząc się JS, piszesz w czystym JS zamiast JQuery jest godne pochwały, bo pozwala lepiej zrozumieć jak to wszystko działa od środka, a także daje solidne podstawy do dalszej nauki.

Przydatne artykuły:

Semicolons in JavaScript

ASI czyli automatyczne wstawianie średników

var, let, or const?

ES6 bez tajemnic. Słowa kluczowe let i const

request Animation Frame

 

komentarz 4 marca 2019 przez mb-dir Mądrala (6,710 p.)

Witam

Dziękuje za twój komentarz

Każde wyrażenie powinno kończyć się średnikiem (nie przecinkiem).

Czyli to co zrobiłem jest złe? Nie chciałem pisać cały czas const = nazwa_zmiennej, więc zrobiłem tak jak zrobiłem czyli napisałem jedno const potem nazwy zmiennych + to co do nich przypisuję i po ostatniej takiej zmiennej postawiłem ; - coś takiego jest dobre?

const scrollX = document.documentElement.scrollTop;
const nav = document.querySelector('.nav');
const heightImg = document.querySelector('.nav').offsetHeight;
const zmienne = scrollX/heightImg*1.5;

A takie już nie?

const scrollX = document.documentElement.scrollTop, 
   nav = document.querySelector('.nav'),
   heightImg = document.querySelector('.nav').offsetHeight,
   zmienne = scrollX/heightImg*1.5;

(tutaj piszę tylko raz const dzięki czemu jest mniej kodu)

Komentarze są ważne i przydatne, ale nie musisz komentować każdej linii kodu, oczywistych rzeczy, takich jak np. "//Tworzę funkcje change"

Tak dokładne komentowanie fakt faktem było niepotrzebne, ale chciałem aby kod był zrozumiały

Zwróć uwagę na właściwe nazewnictwo zmiennych, np. "zmienna" nie jest dobrą nazwą zmiennej, bo nie mówi nic o jej przeznaczeniu

Tak wiem że zmienne powinny być anglojęzyczne i opisywać ich zawartość - jednak nie miałem pomysłu na nazwę ani sił aby jakąś wymyślić - jednak przyznaję jest to błąd.

Jeszcze raz dziękuje i pozdrawiam

komentarz 16 marca 2019 przez JayJay Mądrala (6,020 p.)

@Michał Bysiewicz

napisałem jedno const potem nazwy zmiennych + to co do nich przypisuję i po ostatniej takiej zmiennej postawiłem ;

Gdzieś mi umknął kontekst całości. Nie jest to złe podejście. Ma swoich zwolenników i przeciwników. Tak, jak sam słusznie zauważyłeś wykorzystując je piszemy mniej kodu. Natomiast stosując drugie podejście jest nam łatwiej wprowadzić zmiany (np. w kolejności zmiennych), bo każda deklaracja jest niezależna od pozostałych.

Declaring Multiple Variables in JavaScript (stackoverflow)

Podobne pytania

0 głosów
0 odpowiedzi 402 wizyt
+1 głos
1 odpowiedź 141 wizyt
+1 głos
1 odpowiedź 410 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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!

...