← Område 6 Projekt 5 · Interaktiv sajt Viktiga datum

Webbutveckling · område 6

Projekt 5 – Interaktiv sajt

Deadline tisdag 16 mars kl 23:59. Samma sajt som i Projekt 4, nu med ljuden och mikrointeraktionerna från Gränssnittsdesign.

1. Uppdraget

Du ska bygga in ljuden och mikrointeraktionerna från Gränssnittsdesign i din sajt, med JavaScript, webbens programmeringsspråk. Samma sajt som i Projekt 4, nu med beteende.

Det här är första gången i kursen du skriver kod som gör något i stället för att vara något. HTML säger vad som finns, CSS hur det ser ut, JavaScript vad som händer när någon använder det. De tre ska hållas isär, och det är ett krav, inte en stilfråga.

Sajten ska fungera fullt ut med JavaScript avstängt. All information går att läsa, alla länkar och formulär fungerar. Det enda som saknas utan JavaScript är ljudet och de tillstånd som bara JavaScript kan sätta. JavaScript lägger till, det bär aldrig.

Uppgiften är en trappa. Du börjar med kod du inte skrivit själv och slutar, om du siktar högt, med kod någon annan kan använda:

NivåVad du gör med JavaScript
EKopplar in och anpassar en färdig modul från referensprojektet, efter överlämningen
CSkriver egen, kort händelsekod för en mikrointeraktion och en ljudknapp
ASkriver en egen liten modul som fungerar på element den inte byggdes för

Ljud och rörelse finns i båda kurserna, och här går gränsen:

Här handlar det omI Gränssnittsdesign om
Koden: script, händelser, klasser, ljudet som spelas upp Ljudet: inspelning, redigering, att ljuden hör ihop
CSS-övergången, med värdena i överlämningen Värdena: varaktighet, tidskurva, utlösare, och varför
prefers-reduced-motion och ljudknappen i koden Vad som ska hända för den som valt bort ljud eller rörelse
Att följa överlämningen, och skriva ner var koden avviker Att skriva överlämningen

Rörelsen görs i CSS. JavaScript byter bara läge. En knapp som visar att den skickar får en klass av JavaScript, och det är CSS som sköter hur den klassen ser ut och hur övergången går. Då fungerar rörelsen för sig, och JavaScript-koden blir kort.

Prov 4 ligger dagen efter inlämningen

Onsdag 17 mars. Det prövar att läsa, förutsäga och anpassa kod, utifrån områdets referensprojekt.

2. Vad du utgår från

Det här har du redanVar det kommer ifrån
Sajten, responsiv och tillgängligProjekt 4, inlämnad 9 februari
Ljudfilerna och överlämningstabellenUppgift 7 i Gränssnittsdesign, överlämnad 8 mars
Modulerna att koppla inOmrådets referensprojekt
prefers-reduced-motion och dokumentation.mdOmråde 5

Överlämningen kommer den 8 mars, och passet den 10 mars är till för att bygga in den. Fram till dess arbetar du med de delar som inte behöver den: skriptfilerna, modulen, beteendet utan JavaScript. Ändras något i överlämningen efter den 8 mars tar du in det fram till deadline.

3. Ska-krav

Är alla ikryssade och kontrollerade ligger du på E.

Ska-krav — nivå E

4. Bör-krav

Skillnaden mellan kod du kopplat in och kod du förstår. Nivå C.

Bör-krav — nivå C

5. Utmaningar

Nivå A. Ta dem när ska- och bör-kraven sitter.

Utmaningar — nivå A

6. Tekniska krav

KravVad som gäller
Filstrukturskript/ för JavaScript, ljud/ för ljudfilerna, bredvid index.html. Fortfarande en stil.css
Inkoppling<script src="skript/…" defer></script> i <head>. defer gör att skriptet väntar tills sidan är läst
Variablerconst och let. Inte var
LjudfilernaÖverlämningens filer, med överlämningens namn. Döp inte om dem
RörelsenCSS-övergångar på klasser. JavaScript sätter och tar bort klasserna
LjudknappenEn button. Valet sparas med localStorage, och koden tål att lagringen är avstängd
Utan JavaScriptProvat i två webbläsare med JavaScript avstängt. Resultatet i testprotokollet
Dokumentationendokumentation.md: nytt avsnitt Skript, och testprotokollet utökat
ValideringW3C för HTML och CSS, noll fel. JavaScript kontrolleras i konsolen
Var det lämnasRepolänk och Pages-adress i itslearning
Raden om ljudfilerna

Det är den som brukar ställa till det. Byter du namn på en fil måste både modulen och överlämningen ändras, och då stämmer de inte längre med varandra. Låt namnen vara.

7. Bedömningsmatris

KriteriumECA
Inkoppling och struktur Egna filer, defer, inget JavaScript i HTML Kommentarer som säger varför, beteendet skilt från utseendet En egen modul som fungerar på element den inte byggdes för
Mikrointeraktioner Två byggda med överlämningens värden, reducerad rörelse respekterad Egen händelsekod för minst en Alla går att utlösa med tangentbordet och når skärmläsaren
Ljud Tre ljud vid rätt händelser, med synlig motsvarighet Ljudknapp som minns valet Saknad ljudfil hanteras utan fel
Utan JavaScript Sajten fungerar fullt ut med JavaScript avstängt Provat i två webbläsare, dokumenterat Mörkt läge fungerar också utan JavaScript, via systemets inställning
Dokumentation och test Skripten beskrivna, testprotokoll med och utan JavaScript Avvikelser från överlämningen dokumenterade med skäl Dokumentationen räcker för att någon annan ska kunna ändra i skripten

8. Kom igång

  1. Skriv upp vad som fungerar på din sajt, första passet: innehållet, länkarna, formuläret. Sajten har ingen JavaScript än, så listan är sajten utan JavaScript. Det är din nollpunkt, och allt på den ska fungera på deadlinedagen med JavaScript avstängt.
  2. Koppla in en tom skriptfil som skriver i konsolen. En rad, console.log("skriptet laddades"). Syns raden i konsolen på varje sida är sökvägen och defer rätt innan du skrivit något som kan gå fel.
  3. Bygg en mikrointeraktion i CSS innan du skriver JavaScript. Gör klassen och övergången, och sätt klassen för hand i DevTools. Ser det rätt ut är det bara en rad JavaScript kvar.
  4. Ljuden sist, när överlämningen kommit den 8 mars. Modulen går att koppla in och prova med referensprojektets ljud före dess.

9. Vanliga misstag

10. Innan du lämnar in

Sista passet, 16 mars, är till för det här. Gå igenom i tur och ordning:

Punkt 2 är den som skiljer

Det som slutar fungera utan JavaScript är det som byggts på fel ställe.