Loopar och objekt i JavaScript

Relevanta dokument
Textsträngar och formulär i JavaScript

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Introduk+on +ll JavaScript if- sats, funk+oner, bilder

Introduk+on +ll programmering i JavaScript

Visa och dölja element med JavaScript

Labora&on 3 Objekt i JavaScript övningar/uppgi:er

Övningar i JavaScript del 3

Objektbaserad programmering

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Laboration 6 Formulär och stränghantering övningar/uppgifter

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Övningar i JavaScript del 5

Språk för webben introduk4on 4ll HTML

Labora&on 5 Dynamisk HTML och &mers övningar/uppgi=er

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Övningar i JavaScript del 4

Användarhandledning Version 1.2

Labora&on 6 CSS och responsiv webbdesign övningar/uppgi:er

Labora&on 5 CSS och layout samt fråga E övningar/uppgi>er

Formulär, textsträngar och en del annat

Länkar och navigering

Labora&on 8 Formulär övningar/uppgi6er

Labora&on 3 HTML och struktur övningar/uppgi:er

JAVASCRIPT. Beteende

Laboration 3 HTML och struktur samt frågorna A - C övningar/uppgifter

[] Arrayer = Indexerad variabel

Labora&on 2 HTML och validering övningar/uppgi:er

Skeleton plane & Responsiv webbdesign med CSS

i LabVIEW. Några programmeringstekniska grundbegrepp

Lösningsförslag: Instuderingsfrågor, del D

F7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Arrayer (fält)

Föreläsning 3-4 Innehåll

Övningar i JavaScript del 2

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

TDIU01 - Programmering i C++, grundkurs

Struktur & Layout med CSS

Typkonvertering. Java versus C

Planering Programmering grundkurs HI1024 HT 2014

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

Strukturering med XML och DTD

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Inledande programmering med C# (1DV402) Summera med while"-satsen

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

Övningsuppgifter kapitel 8

Visual Basic, en snabbgenomgång

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Visuell design Bilder & färger

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

JAVAUTVECKLING LEKTION 8

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Planering Programmering grundkurs HI1024 HT TIDAA

Planering av ett större program, del 2 - for och listor. Linda Mannila

Arrayer. results

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Tommy Färnqvist, IDA, Linköpings universitet

TDIU01 - Programmering i C++, grundkurs

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

JavaScript del 3 If, Operatorer och Confirm

Labora&on 4 Händelser och drag and drop övningar/uppgi:er

Objektorienterad programmering i Java

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

DAT043 - Föreläsning 7

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Extramaterial till Matematik Y

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Frekvenstabell över tärningskast med C#

Design av en klass BankAccount som representerar ett bankkonto

Programmeringsteknik I. Föreläsning 3: Klasser och arrayer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Planering Programmering grundkurs HI1024 HT data

F5: Högnivåprogrammering

F5: Högnivåprogrammering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Tentamen ID1004 Objektorienterad programmering October 29, 2013

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Labora&on 4 CSS och validering samt fråga D övningar/uppgi?er

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Lektion 7. Datateknik A, Java I, 5 poäng

Lösningar för tenta 3 DAT043,

JS & beteende. TNMK30 - Elektronisk publicering

Transkript:

Föreläsning i webbdesign Loopar och objekt i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se

Programflöde Vanligt sekvendellt flöde InstrukDonerna ugörs en eher en i den ordning de står i programmet Jämförelse (if- sats) En eller flera instrukdoner ugörs endast beroende på resultatet av ep test Loop En eller flera instrukdoner ugörs flera gånger 2

Loop EP antal programsatser ugörs om och om igen, så länge ep villkor är uppfyllt. while- satsen while (villkor) {programsatser} for- satsen for (inidering;villkor;uppräkning) { programsatser } ex1" 3

Objekt Gruppering av egenskaper (variabler) och metoder (funkdoner) JavaScript är objektbaserat HTML- taggar Webbläsarens fönster HTML- dokumentet Inbyggda objekt Date Math Datatyper Number String Array egenskap" egenskap" " metod" metod" " Referenser med punktnota=on: Objekt document.getelementbyid("aaa").value document.getelementbyid("bbb").innerhtml Math.random() Math.floor() Skapa nya objekt: var x = 123; var y = "en text"; var z = new Date(); 4

Date- objektet Inbyggt objekt med info om datum och Dd Skapas med new var today = new Date(); var xmaseve = new Date(2012,12,24); FunkDoner för ap ta fram delar av datum eller Dd var y = today.getfullyear(); var h = today.gethours(); ex2" McGrath, M. (2009) JavaScript in easy steps, fourth edi=on, In Easy Steps, s.74f 5

index" 0 1 2 3 4 värde 1 värde 2 värde 3 Array (vektor/lista) En Array är en lista av element. Elementen indexeras från 0 och uppåt. En variabel skapas som en Array: längd = antal element" a = new Array(); // En Array med dynamiskt antal element a = []; // En Array med dynamiskt antal element b = ["red","blue","green"]; // En Array med tre element med värdena inom parenteserna Referera Dll ep element i en Array: a[3] = 27; // Det qärde elementet i a får värdet 27 x = b[1]; // x Dlldelas värdet av det andra elementet i b Exempel på egenskaper och metoder: a.length // Antal element (värden) i a b.join(":") // Ger textsträngen "red:blue:green" ex3" McGrath, M. (2009) JavaScript in easy steps, fourth edi=on, In Easy Steps, s.60f 6

Referens =ll element i HTML- koden <img id="pict" src=" " alt=" "> picttag = document.getelementbyid("pict"); picttag.src = " "; <div id="pics"> <img src=" " alt=" "> <img src=" " alt=" "> <img src=" " alt=" "> <img src=" " alt=" "> </div> picstag = document.getelementbyid("pics"); imgarray = picstag.getelementsbytagname("img"); imgarray[0].src = " "; imgarray[1].src = " "; for (i=0; i<imgarray.length; i++) { imgarray[i].src = " "; } 7

Exempel: Sortera och visa bilder Man ska kunna sortera ep antal bilder i valfri ordning och sedan visa dessa i ep bildspel. a. Det finns två rader; en rad med ep antal små bilder som ska sorteras, en rad där de sorterade bilderna placeras. b. Klickar man på en bild i den övre raden, flypas den Dll den undre raden. c. Klickar man på en bild i den undre raden, flypas den Dllbaks Dll den övre raden. d. Då man sorterat alla bilderna, klickar man på en länk för ap starta ep bildspel där större versioner av bilderna visas i den sorterade ordningen. e. I bildspelet kan man stega framåt och bakåt eller i en meny välja vilken bild man vill se. DeQa program skapas stegvis i eq antal exempel i denna och kommande föreläsningar 8

Exempel: FlyQa bilder I depa steg implementeras så mycket av programmet, så ap man kan flypa bilder från den övre Dll den undre raden, dvs punkt a och b i föregående beskrivning. KonstrukDon: Raderna skapas med två div- element. I den övre raden placeras img- taggar med bilderna. I den undre raden placeras img- taggar med en vit bild. Dessa ger posidoner för de sorterade bilderna. I programmet tar man fram referenser Dll bilderna genom ap först ta fram en referns Dll den div- tagg som omger dem med getelementbyid. DäreHer använder man getelementsbytagname för ap få fram referenser Dll alla img- taggar inom div- taggen. Dessa referenser sparas i variablerna upict för den övre raden och spict för den undre raden (unsorted och sorted). Då kan man i JavaScript referera Dll dem med namnen upict[0], upict[1], etc. (index är alldd 0 för det första elementet) samt spict[0], spict[1], etc. GränssniQet samt ini=ering av globala variabler ex4-1" 9

Exempel forts. FlyPa bild delas upp i två steg: 1. Visa bild i den undre raden 2. Ta bort bilden i den övre raden JavaScript- kod samt onclick- aqribut i img- taggarna ex4-2" 1" url = src-attributet för upict[pictnr]" src-attributet i spict[posnr] = url" posnr = posnr + 1" upict[0] upict[1] upict[2] upict[3] upict[4]" funktion" steg 1" steg 2" Klick på bild" Parameter: pictnr" posnr" Global variabel" spict[0] spict[1] spict[2] spict[3] spict[4]" +1" 2" src-attributet i upict[pictnr] = vit bild" 0" initiering" Initiering utförs då sidan laddas in" 10

Exempel forts. Är funkdonen för ap flypa bilder komplep eller saknas något? Vad händer om man klickar på en tom (vit) bildruta i den övre raden? 11

Exempel forts. De tomma bildrutornas img- taggar finns ju kvar (visar en vit bild), så klickar man på en sådan, flypas den vita bilden Dll den undre raden. Förhindra ap den vita bilden kan flypas: Undersök om url:en för den bild man klickar på innehåller white.jpg Använd indexof FlyPa endast bilden om url:en ej innehåller white.jpg if- sats för kontroll av url ex4-3" 12

Exemplet hittills: Sortera och visa bilder! Vad som är löst hi{lls: a. Det finns två rader; en rad med ep antal små bilder som ska sorteras, en rad där de sorterade bilderna placeras. b. Klickar man på en bild i den övre raden, flypas den Dll den undre raden. Nästa steg: c. Klickar man på en bild i den undre raden, flypas den Dllbaks Dll den övre raden. Återstår Dll kommande föreläsningar: d. Då man sorterat alla bilderna, klickar man på en länk för ap starta ep bildspel där större versioner av bilderna visas i den sorterade ordningen. e. I bildspelet kan man stega framåt och bakåt eller i en meny välja vilken bild man vill se. 13

Exempel: FlyQa =llbaks bild FlyPa upp bild Användaren klickar på en bild i den undre raden. Bilden placeras i första lediga posidon i den övre raden. I den undre raden flypas de bilder, som finns eher den bild som flypas, ep steg åt vänster. KonstrukDon: Kopiera bild Dll den övre raden SkiHa bilder i den undre raden åt vänster ex4-4" 14