element
Obiekt document zawiera całą strukturę pliku HTML. Dzięki niemu możemy znaleźć dowolny element dokumentu i zmienić go przy pomocy kodu.
Dla ciekawych jak to działa - lektura na potem: What is the DOM? - on CSS Tricks
querySelector
jest jedną z metod obiektu document
do operowania na elementach strony:
document.querySelector( warunek )
- wybiera pierwszy element, który spełnia dany warunek.
Selektory tej metody działają dokładnie tak samo jak dla CSS, na przykład:
// wybiera nagłówek 3 stopnia
document.querySelector( 'h3' )
// wybiera element z klasą moja-klasa
document.querySelector( '.moja-klasa' )
// wybiera element z ID artykul-1
document.querySelector( '#artykul-1' )
Selektor elementu można również znaleźć w narzędziach programisty pod prawym przyciskiem myszy (opcja Kopiuj > Kopiuj selektor).
classList.add
jest jedną z metod które ma każdy element drzewa DOM. Wywołujemy ją w następujący sposób:
element.classList.add( 'nazwa-klasy' )
- dodaje dla elementu klasę o podanej nazwie.
document.querySelector( '#button' ).classList.add( 'big' ) );
// dodaje klasę 'big' do elementu o ID button
classList.remove
jest jedną z metod które ma każdy element drzewa DOM. Wywołujemy ją w następujący sposób:
element.classList.remove( 'nazwa-klasy' )
- zabiera daną klasę z elementu.
document.querySelector( '#button' ).classList.remove( 'big' ) );
// zabiera klasę 'big' z elementu o ID button
addEventListener
jest metodą elementu drzewa DOM, która pozwala powiązać wydarzenie związane z tym elementem z akcją która powinna się wtedy wykonać.
Wywołujemy tę metodę tak:
addEventListener( 'wydarzenie', akcja-do-wykonania )
- wykonuje podaną akcję, gdy z elementem stanie się coś konkretnego. Przykład:
document.querySelector( '#button' ).addEventListener( 'click', mojaFunkcja );
// wywołaj funkcję mojaFunkcja gdy ktoś kliknie przycisk o ID button
Zmienna jest to schowek, w którym możemy zapisywać informacje i odczytywać je później w innym miejscu. W JavaScript w każdej zmiennej można przechowywać praktycznie wszystko - tekst, liczbę, element dokumentu, złożony obiekt, a nawet funkcję.
Żeby stworzyć zmienną w JavaScript używamy słowa kluczowego let
:
//zmienna tekstowa
let courseTitle = 'Galeria JavaScript';
Tak stworzonej zmiennej możemy potem używać dalej w kodzie po prostu podając jej nazwę, na przykład:
//zmienna liczbowa - długość tekstu
let titleLength = courseTitle.length;
Operacje matematyczne(+
, -
, %
i /
) zapisujemy w kolejności wynik = działanie
, na przykład:
let nowyNumer = staryNumer + 4;
Do porównania, która liczba jest większa lub mniejsza używamy znaków >
i <
, >=
i <=
.
if ( a > 1 ) {
//wykonaj ten kod, kiedy a jest większe od 1.
}
Do porównania dwóch liczb ze sobą używamy potrójnego znaku równości ===
.
if ( a === 1 ) {
//wykonaj ten kod, kiedy a jest równe 1.
}
W JavaScript tekst zapisujemy w cudzysłowie, np:
let imie = 'Ania';
Fragmenty tekstu możemy sklejać ze sobą przy użyciu znaku +
, na przykład:
let pozdrowienia = 'Hej ' + 'Ania' + '!';
W ten sam sposób możemy dokleić do tekstu liczbę lub zawartość zmiennej:
let pozdrowienia = 'Hej ' + imie + '!';
Wartość logiczna to jeden z dwóch stanów (prawda lub fałsz).
Prawdę zapisujemy w JavaScript jako true
, dla fałszu używamy słowa false
:
let isJavaScriptAwesome = true;
Wartości logiczne porównujemy używając potrójnego znaku równości, np:
if ( isJavaScriptAwesome === true ) {
let doWeHaveEnoughYet = false;
}
Funkcja to ciąg kilku poleceń które tworzą logiczną całość, i powinny wykonywać się razem jedno po drugim.
W JavaScript możemy budować funkcje na kilka różnych sposobów, z czego najprostszy to:
function nazwafunkcji( ) {
/* treść funkcji */
}
Tak stworzoną funkcję możemy potem wywołać w innym miejscu kodu, podając jej nazwę + okrągłe nawiasy, na przykład:
nazwafunkcji( );
Wydarzeniem może być wszystko, co dzieje się na stronie: to, co robi z nią użytkownik (kliknięcie, przesunięcie myszy nad elementem, wciśnięcie klawisza, zmaksymalizowanie okna, scroll, itp), a także rzeczy, które dzieją się automatycznie, np. załadowanie strony.
Wszystkie typy wydarzeń mogą być przez nas obsłużone w kodzie, tzn. możemy do nich przypisać jakąś akcję. Służy do tego metoda addEventListener.
Instrukcje warunkowe to fragmenty kodu, które wykonują się tylko wtedy, kiedy jest spełniony dany warunek.
Najprostsza z nich wygląda tak:
if ( warunek ) {
//wykonaj kod, który jest tutaj.
}
Jeżeli dodatkowo chcemy wykonać inny fragment kodu, kiedy warunek nie jest spełniony, możemy rozbudować tę instrukcję używając słowa kluczowego else
:
if ( warunek ) {
//wykonaj ten kod, kiedy warunek jest spełniony.
} else {
// wykonaj ten kod, kiedy warunek nie jest spełniony
}
Parametry funkcji to dane, które do niej przekazujemy przy jej wywołaniu. Dzięki temu te same polecenia mogą za każdym razem działać na innym zestawie danych. Parametry przekazujemy do funkcji w okrągłych nawiasach.
Przykład - funkcja, która bierze imię jako parametr, i wypisuje w konsoli pozdrowienia dla osoby o danym imieniu:
function hej( imie ) {
console.log( 'Hej ' + imie + '! Miło Cię widzieć!' );
}
Wywołując tę funkcję możemy za każdym razem przekazać jej inne imię do wypisania, na przykład:
hej( 'Magda' );
// wypisuje: 'Hej Magda! Miło Cię widzieć!'
hej( 'Asia' );
// wypisuje: 'Hej Asia! Miło Cię widzieć!'
Interwał powtarza podane mu instrukcje cyklicznie w danym mu odstępie czasu.
Można go stworzyć poprzez funkcję:
setInterval( akcja, odstep )
- wykonuje akcję za każdym kolejnym razem, kiedy upłynie określony odstęp czasu (podany w milisekundach).
setInterval( mojaFunkcja, 2000 );
// wywołuj funkcję mojaFunkcja co 2 sekundy.
Żeby wyłączyć interwał musimy zrobić dwie rzeczy:
clearInterval( nazwaZmiennej )
- wyłącza interwał zapisany wcześniej w podanej zmiennej.let zapisanyInterwal = setInterval( mojaFunkcja, 2000 );
// wywołuj funkcję mojaFunkcja co 2 sekundy.
clearInterval( zapisanyInterwal );
// przestań wywoływać funkcję co 2 sekundy