JavaScript - Intro

35
JavaScript … och JavaScript-ramverket jQuery

Transcript of JavaScript - Intro

Page 1: JavaScript - Intro

JavaScript… och JavaScript-ramverket jQuery

Page 2: JavaScript - Intro

Reflektioner kring CSS/Ramverk?

Page 3: JavaScript - Intro

Dagens föreläsing• JavaScript? • JavaScript – syntax?• JavaScript – att leta upp element i HTML-dokumentet• JavaScript – att manipulera element i HTML-

dokumentet• JavaScript – exempel• jQuery – Ett av många JavaScript-ramverk för front-

end• jQuery – syntax?• jQuery – Exempel

Page 4: JavaScript - Intro

Var passar JavaScript in?

JavaScriptCSSHTML

Innehåll

InteraktivitetUtformning

StrukturInnehåll

Page 5: JavaScript - Intro

JavaScript lever i din webbläsareAllt som behövs för att köra JavaScript är en webbläsare – smidigt värre!

Page 6: JavaScript - Intro

Har ni sett det innan?

Page 7: JavaScript - Intro

JavaScript – varför?• Vi vill ge liv till annars statiska webbsidor!• T.ex.

Automatiskt modifiera dynamiskt innehåll Facebook Twitter Gmail

Diverse beräkningar T.ex. valutakonverteringar

Förbättrade GUI Animeringar Lägga till/ta bort/modifiera befintliga HTML-element

Page 8: JavaScript - Intro

JavaScript - exempel• http://valuta.se• http://yensdesign.com/tutorials/validateform/• http://www.phoboslab.org/ztype/

Page 9: JavaScript - Intro

JavaScript - Historik• Utvecklades av Netscape under mitten av 90-talet• Har inget med Java att göra – det är ett eget

programmeringsspråk• Microsoft skapade sin egen verision av JavaScript –

Jscript• På senare dagar (2005) har ajax blivit en populärt• Lägger till extra funktionalitet för webben och

webbläsare

Page 10: JavaScript - Intro

Vad kan man göra med JavaScript?• I princip vad du vill!• Men det används ofta till att skapa interaktiva

webbsidor• Med interaktiv menas: Reagera på användaras

handlingar och modifiera webbsidans innehåll

Page 11: JavaScript - Intro

JavaScript• JavaScript skrivs som ren text

• Det kan skrivas antingen inbäddat direkt i HTML-koden

• Eller i en separat fil, som sedan inkluderas i HTML-dokumentet

Page 12: JavaScript - Intro

JavaScript - Var skrivs det?

Page 13: JavaScript - Intro

JavaScript som programmeringsspråk• Ett högnivåspråk• Ett otypat språk• Ett skriptspråk

• Ni kan programmera, så efter lite träning med syntaxen så borde det inte vara några problem att komma igång =)

Page 14: JavaScript - Intro

Exempel på syntax

Page 15: JavaScript - Intro

Att hitta element genom JS• En stor fördel med JS är att vi kan leta upp HTML-

element!• Vi kan leta upp detta genom att:

Ange typen av element (t.ex. alla <p>-element) Ange klassen för ett element (t.ex. alla element med

klassen ”blue”) Ange ett id för ett element

• Jämför detta med hur vi använder CSS för att hitta våra element.

Page 16: JavaScript - Intro

Exempel på att hitta element

Page 17: JavaScript - Intro

Användardrivet GUI• Vi ”lyssnar” efter användarens handlingar, som

t.ex. Klick Musrörelser Svepningar M.m.

• Vi kan sedan koppla ihop dessa handlingar med element – och sedan koppla detta till en funktion

Page 18: JavaScript - Intro

Att modifiera element• Vi kan ändra attribut för element• Vi kan ändra CSS för element• Vi kan ändra text för element• Vi kan lägga till nya element• Vi kan ta bort element

Page 19: JavaScript - Intro

Exempel på att modifiera element

Page 20: JavaScript - Intro

”this” – att referera till elementet som utlöste händelsen• ”this” som nyckelord är väldigt händigt att hantera

– på så sätt behöver vi inte ”leta upp” elementet som utlöste händelsen mer än en gång.

Page 21: JavaScript - Intro

Exempel med JavaScriptHitta & manipulera element

Page 22: JavaScript - Intro

DOM

• Trädstruktur som motsvarar taggarnas ordning/nästling

• Varje element är en ”nod” i trädet

• Relationer mellan noderna beskrivs med förälder/barn och syskon

Page 23: JavaScript - Intro

Källkod vs. noder

Page 24: JavaScript - Intro

Använda DOM• I JavaScript kan man alltid komma åt DOM via

objektet ”document”

• Därifrån kan vi ”navigera” genom trädet

// referens till body-elementet:document.body

// lista över alla element i bodydocument.body.childNodes

Page 25: JavaScript - Intro

Att navigera i DOM• Vi antar att ”node” är en nod/element i DOM-trädet

// Navigera mellan noder på samma nivånode.nextSiblingnode.previousSibling

// Nedåt, barnnodernode.firstChildnode.lastChildnode.childNodes // alla barn

// Uppåt, föräldernode.parentNode

Page 26: JavaScript - Intro

Exempel - DOM

Page 27: JavaScript - Intro

Att hämta värde från formulär

Page 28: JavaScript - Intro

localStorage – Att spara data hos klienten• Vi kan spara data lokalt (text-strängar) hos

användaren. Typ som cookies, men är inte begränsade på samma

sätt gällande längden på det som sparas Enklare att hantera än cookies

• Sparas i nyckel: värde format (som ett lexikon)

Page 29: JavaScript - Intro

Exempel på localStoragelocalStorage.setItem("Name", "Anton");localStorage.getItem("Name"); // Returnerar "Anton"

Page 30: JavaScript - Intro

jQuery – ett JS-ramverk

Page 31: JavaScript - Intro

Varför ramverk?• Snabbare utveckling• Inbyggda funktioner• Animeringar och andra effekter• Cross-browser lösningar

Page 32: JavaScript - Intro

jQuery – Referera till element• Att referera till element (”CSS”-referenser)

$(”#id”);document.querySelectorAll(”#id”);

• Att referera till taggar$(”a”);document.querySelectorAll(”a”);

• Att referera till klasser$(”.blue”);document.querySelectorAll(”.blue”);

Page 33: JavaScript - Intro

jQuery – navigera i DOM• Document.getElementById(”id”).nextsibling;

$(”#id”).next();• Document.getElementById(”id”).childNodes;

$(”#id”).children();• Document.getElementById(”id”).parentNode;

$(”#id”).parent();

Page 34: JavaScript - Intro

Att använd funktioner i jQuery• Att dölja ett element:

document.getElementById(”id”).style.display = ”none”;$(”#id”).hide();

• Att tona in ett element (animering):$(”#id”).fadeIn(1000);

Page 35: JavaScript - Intro

jQuery - dokumentation