Centralt innehåll

Fakta

1. jQuery

Sannolikt har någon annan webbutvecklare haft samma problem att lösa som du har. Varför inte återanvända bra lösningar? Det är grundtanken bakom JavaScript-bibliotek, som är färdig kod med funktioner som det bara är att anropa.

Det finns många olika JavaScript-bibliotek, men jQuery är den vanligaste (=mest populära). Av alla webbsidor som använder ett JavaScript-bibliotek använder 80% jQuery. Det är skapat för att enkelt hitta och ändra element, hantera händelser (event) och animera förändringar.

jQuery är ett JavaScript-bibliotek.

jQuery används för att förenkla JavaScript-programmeringen.

Fördelar med jQuery:

Fler fördelar med jQuery:


jQuery innehåller bl.a. funktioner för:

1.1 Länka till jQuery

Om man inte vill ladda ned hela jQuery kan man länka till den från ett CDN (Content Delivery Network), t.ex. Googles CDN.

Länka till jQuery-biblioteket från HTML-koden:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

1.2 jQuery - Syntax för onload-händelsen

Tidigare skrev vi kod för onload-händelsen:

window.addEventListener("load", init);

function init()
{
  //Kod för t.ex. koppling av olika events till HTML-element.
}


Koden ovan kan också skrivas på ett kortare sätt utan att deklarera en funktion med namn:

window.addEventListener("load", function() 
{
  //Kod för t.ex. koppling av olika events till HTML-element.
});


Med jQuery kan man också hantera händelser och skriva onload-händelsen så här:

$(document).ready(init);

function init()
{
  //jQuery-kod för t.ex. koppling av olika events till HTML-element.
}


jQuery-koden ovan kan också skrivas på ett kortare sätt utan att deklarera en funktion med namn:

$(document).ready(function() 
{
  //jQuery-kod för t.ex. koppling av olika events till HTML-element.
});

Här ovan har vi 4 olika sätt att skriva kod som utför samma sak. 2 sätt utan jQuery och 2 sätt med jQuery.

1.3 jQuery - Syntax för att hämta HTML-element

jQuerys syntax är gjord för att hämta HTML-element och göra något med dem. Vi har ju tidigare mest använt document.getElementById för att göra det.

jQuery syntax: $(selector).action()
$-teckent talar om att det är jQuery
En selektor talar om vilket eller vilka HTML-element som ska hämtas
En jQuery action() talar om vad som ska göras med de hämtade elementen

Exempel:

jQueryBeskrivningExempel
$("p").hide();Döljer alla <p> elementExempel
$(".test").hide();Döljer alla element med class="test"Exempel
$("#test").hide();Döljer elementet med id="test"Exempel
$("p.test").hide();Döljer alla element med class="test"Exempel
  
$("*").hide();Döljer alla elementExempel
$("[src]").hide();Döljer alla element som har ett src attributExempel
$(this).hide();Döljer det aktuella elementetExempel
Se mer om jQuery-selektorer på w3schools - jQuery selektorer

Övningar
Övning 1     Övning 2     Övning 3     Övning 4     Övning 5

1.4 jQuery - Händelser

Olika jQuey-händelser (events)

HändelseBeskrivningExempel
loadDokument händelse
unloadDokument händelse
resizeWindow händelse
scrollWindow händelse
clickMouse händelseExempel
dblclickMouse händelseExempel
mouseenterMouse händelseExempel
mouseleaveMouse händelseExempel
hoverMouse händelseExempel
mousedownMouse händelseExempel
mouseupMouse händelseExempel
keypressKeyboard händelse
keydownKeyboard händelse
keyupKeyboard händelse
changeForm händelse
focusForm händelseExempel
blurForm händelseExempel
submitForm händelse
Se mer om jQuery-events på w3schools - jQuery events

Övningar
Övning 1     Övning 2     Övning 3     Övning 4

1.5 jQuery - Effekter

Exempel på effekter:

jQuery effektBeskrivningExempel
hideDöljer elementExempel 1
Exempel 2
showVisa elementExempel
toggleväxlar mellan dölja/visaExempel
Övningar
Övning 1     Övning 2     Övning 3     Övning 4

jQuery effektBeskrivningExempel
fadeInTona inExempel
fadeOutTona utExempel
fadeToggleVäxla mellan tona in/utExempel
fadeToTona tillExempel
Övningar
Övning 1     Övning 2     Övning 3     Övning 4

jQuery effektBeskrivningExempel
slideDownGlid nerExempel
slideUpGlid upExempel
slideToggleVäxla mellan glid upp/nerExempel
Övningar
Övning 1     Övning 2     Övning 3     Övning 4

Se mer om jQuery-effekter på w3schools - jQuery effekter

1.6 jQuery - HTML

jQuery innehåller funktioner för hämta och ändra HTML-element och attribut, dvs ett sätt att hantera DOM (Document Object Model).

jQuery funktionBeskrivningExempel
text() Hämtar ett elements text Exempel
text() Ändrar ett elements text Exempel
val() Hämtar ett formulär-elements värde Exempel
val() Ändrar ett formulär-elements värde Exempel
attr() Hämtar ett attribut-värde Exempel
attr() Ändrar ett attribut-värdeExempel
Övningar
Övning 1     Övning 2     Övning 3     Övning 4
Övning 5     Övning 6     Övning 7     Övning 8

Det går att lägga till HTML-element och innehåll, se mer på jQuery Add Elements
Det går att ta bort HTML-element, se mer på jQuery Remove Elements

1.6 jQuery - CSS

jQuery har funktioner för hantera CSS.

jQuery funktionBeskrivningExempel
addClass() Lägger till en eller flera klasser till HTML-elements klass attribut Exempel
removeClass() Tar bort till en eller flera klasser från HTML-elements klass attribut Exempel
toggleClass() Växlar mellan att lägga till och ta bort klasser Exempel
css() Hämtar ett style attribut Exempel
css() Sätter ett style attribut Exempel
Övningar
Övning 1     Övning 2     Övning 3     Övning 4
Övning 5     Övning 6     Övning 7

Begrepp

JavaScript-bibliotek: Färdig kod med funktioner som det bara är att anropa

jQuery: Det mest populära JavaScript-biblioteket.

Selektor: Taggnamn, class eller id som identifierar ett element.

Övningar

Inlämningsuppgift

login     logout    

Exit tickets

Ta inlämningsuppgiften "Separera JS & HTML". Använd funktioner från jQuery för att skriva om JavaScript-koden (utgå från den gamla koden).

1. Börja med att byta ut window.addEventListener("load", init); mot jQuery
2. Byt ut alla "document.getElementById" och alla "document." mot jQuery
3. Byt ut alla document.getElementById.addEventListener mot jQuery-händelser.

Se film för beskrivning av tillvägagångssätt

Tips
Använd webbläsarens JavaScript-konsol (F12 - console). När saker inte fungerar är det oftast ett fel som skrivs ut i konsolen. Konsolen hjälper dig att hitta fel!

Kontrollera:
- Validera HTML
- Validera CSS (om du har någon)
- Använd strict mode.
- Inga fel i konsolen när JavaScriptet körs (F12 - console).
- Ingen JavaScript i HTML-koden
- du har indenterat html & css koden
- startsidan heter index.html
- filnamn med små bokstäver, inga mellanslag eller åäö
- Som med all programmering ska koden vara indenterad, ha bra variabelnamn och vara översiktligt kommenterad.

Lämna in:
Packa (zippa) ihop projektet och spara den packade filen i Unikum