Centralt innehåll
- Ramverk eller klassbibliotek inom design eller skriptspråk.
- Webben som plattform för applikationer av olika slag.
- Fördjupning i märkspråk där det huvudsakliga innehållet är standarderna för HTML och CSS med särskilt fokus på responsiv design.
- Skriptspråk för webbutveckling på klientsidan och dokumentobjektsmodell.
- Riktlinjer för god praxis inom webbutveckling.
- Uppnående av interoperabilitet genom att följa standarder och testa på olika plattformar.
- Applikationer som fungerar oberoende av vald plattform och hur tillgänglighet uppnås även för användare med funktionsnedsättning.
- Kvalitetssäkring av applikationens funktion och validering av kodens kvalitet.
- Terminologi inom området webbutveckling.
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:
- Färdiga funktioner för många vanliga uppgifter.
- Olika effekter (t.ex. visa/dölj) och animationer.
- Förenklad syntax.
- Inbyggt stöd för tillgänglighet i koden.
- Inbyggt stöd för eventuella olikheter och buggar i webbläsarna (normalisering av DOM).
Fler fördelar med jQuery:
- Finns mycket hjälp och manualer för det är det vanligaste JavaScript-biblioteket.
- Kort effektiv syntax, tanken är "skriv mindre, gör mer" (write less, do more).
- jQuery tar många vanliga uppgifter som kräver många rader med JavaScript-kod för att utföra, och gör dem som funktioner som man kan anropa med en enda rad kod.
- Förenklar många saker från JavaScript, som t.ex. hanteringen av DOM (Document Object Model).
jQuery innehåller bl.a. funktioner för:
- HTML / DOM hantering
- CSS hantering
- HTML-händelser (events)
- Effekter och animeringar
- AJAX (ett sätt att uppdatera en del av en webbsida utan att ladda om hela sidan)
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:
| jQuery | Beskrivning | Exempel |
|---|---|---|
$("p").hide(); | Döljer alla <p> element | Exempel |
$(".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 element | Exempel |
$("[src]").hide(); | Döljer alla element som har ett src attribut | Exempel |
$(this).hide(); | Döljer det aktuella elementet | Exempel |
Övningar
Övning 1 Övning 2 Övning 3 Övning 4 Övning 5
1.4 jQuery - Händelser
Olika jQuey-händelser (events)
| Händelse | Beskrivning | Exempel |
|---|---|---|
| load | Dokument händelse | unload | Dokument händelse |
| resize | Window händelse | |
| scroll | Window händelse | |
| click | Mouse händelse | Exempel |
| dblclick | Mouse händelse | Exempel |
| mouseenter | Mouse händelse | Exempel |
| mouseleave | Mouse händelse | Exempel |
| hover | Mouse händelse | Exempel |
| mousedown | Mouse händelse | Exempel |
| mouseup | Mouse händelse | Exempel |
| keypress | Keyboard händelse | |
| keydown | Keyboard händelse | |
| keyup | Keyboard händelse | |
| change | Form händelse | |
| focus | Form händelse | Exempel |
| blur | Form händelse | Exempel |
| submit | Form händelse |
Övningar
Övning 1 Övning 2 Övning 3 Övning 4
1.5 jQuery - Effekter
Exempel på effekter:
| jQuery effekt | Beskrivning | Exempel |
|---|---|---|
| hide | Döljer element | Exempel 1 |
| Exempel 2 | ||
| show | Visa element | Exempel |
| toggle | växlar mellan dölja/visa | Exempel |
Övning 1 Övning 2 Övning 3 Övning 4
| jQuery effekt | Beskrivning | Exempel |
|---|---|---|
| fadeIn | Tona in | Exempel |
| fadeOut | Tona ut | Exempel |
| fadeToggle | Växla mellan tona in/ut | Exempel |
| fadeTo | Tona till | Exempel |
Övning 1 Övning 2 Övning 3 Övning 4
| jQuery effekt | Beskrivning | Exempel |
|---|---|---|
| slideDown | Glid ner | Exempel |
| slideUp | Glid up | Exempel |
| slideToggle | Växla mellan glid upp/ner | Exempel |
Ö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 funktion | Beskrivning | Exempel | |
|---|---|---|---|
| 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ärde | Exempel |
Ö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 funktion | Beskrivning | Exempel | |
|---|---|---|---|
| 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 |
Ö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.
Länkar
Film
Fördjupning
Övningar
Inlämningsuppgift
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
TipsAnvä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