Vill du skapa en helt unik och iögonfallande effekt för din webbplats? Vad sägs om en animering som zoomar in i en viss del av sidan när du klickar på den?
Det kan låta som mycket arbete men med jQuery och Zoomooz.js, det är en snap! Jag går igenom processen steg för steg, eftersom vi bygger ett fantastiskt zoomat miniatyrgalleri.
Vad vi bygger
Live-demo: Klicka här
Zoomooz.js: Grundläggande introduktion
När du arbetar med nya bibliotek är det alltid bäst att börja med ett dött enkelt exempel, så att du kan få en känsla för hur allt fungerar. Med detta projekt bygger vi en grundläggande sida för att testa zoomfunktionen i skriptet och sedan gå vidare till ett mer praktiskt exempel genom att skapa en helhet på miniatyrgalleriet.
HTML: Inkluderingarna
Detta projekt har massor av saker att inkludera i huvuddelen av din HTML. Det första du vill göra är att gå vidare till Zoomooz.js hemsida och hämta biblioteket. Du ser att det verkligen inte innehåller någon men flera JavaScript-bibliotek. Lyckligtvis, i nedladdningen hittar du instruktioner för att köra ett manus för att kombinera och minimera allt så det är inte så stort och rörigt (jag lämnar det här steget till dig).
Med det i åtanke kommer vårt lilla experiment att kräva att följande kod ska börja:
JavaScript
Nästa upp, kopiera och klistra in skriptet nedan i din HTML. Som du kan se, vad det gör är mål för klassen? Zoom? och tillämpar? zoomTo? metod från biblioteket. Sedan tillämpar vi samma sak på kroppen, vilket gör att användaren kan klicka utanför något element för att zooma ut till normal nivå.
Svett inte det för mycket om du inte förstår detta. Tänk bara på att vi måste tillämpa? Zoom? klass till element som vi vill bli zoombara. Samma exakta utdrag kommer att tillämpas i båda dagens projekt så gärna bara kopiera det över.
HTML
Därefter vill vi skapa en grundläggande testplats. För att göra detta måste vi skapa en behållare, en yttre div och en inre div. Behållaren kan tyckas godtycklig men genom att inkludera den och ställa in en bredd / höjd, hjälper det att zoomeffekten fungerar ordentligt på det yttersta elementet.
Observera också att vi har tillämpat? Zoom? klass till både yttre och inre divs. Länken vid denna punkt är egentligen bara ett dummyelement som hjälper till att styra användaren. Skriptet fungerar helt bra utan det.
CSS
Därefter tillämpar vi storlekar och positionering på varje element. Återigen gör en definierad behållarstorlek zoomfunktionen ordentligt, liksom läget: absolut? uttalande om "inre" div. Skriptet kan vara lite konstigt så se till att du får dessa artiklar rätt.
Text CSS
Slutligen, här kasta vi bara i en del grundläggande text styling för stycket tillsammans med ett svävarläge. Återigen är du fri att gräva länken helt.
demo
Med det är vår enkla demo klar. Starta demoversidan för att se den i åtgärd. Observera att klickar på varje div ger dig en annan zoomnivå och klickar ut i kroppen zoomar dig hela vägen ut.
Zoomooz.js: Thumbnail Gallery
Med samma teknik kan vi bygga ett fantastiskt miniatyrgalleri med en zoom inverkan. Det är viktigt att notera att det här pluginet förmodligen fungerar bäst för element gjorda med webbläsaren. När vi använder den för bilder, som vi kommer nedan, är den olyckliga verkligheten att du måste ladda allt i sin inzoade storlek.
Så trots att vi har en sida full av små miniatyrer laddar vi faktiskt in på en sida full av stora bilder, vilket kan ta flera sekunder beroende på användarens anslutningshastighet.
Trots denna begränsning är det fortfarande roligt att driva saker till gränsen och se vad som är möjligt.
html
HTML för detta projekt kommer faktiskt att vara super enkelt. Jag börjar med en div som innehåller lite beskrivande text, i princip bara en snabbrubrik och punktlabel för att förklara vad som händer. Därefter skapade jag en stor orörd lista med bilderna. Det är ganska mycket det!
Observera att jag har tillämpat? Zoom? klass till både "galleriet" div som helhet och till varje bild inom div. Detta ger oss två nivåer av zoomning att spela med. Biblioteket är intelligent nog att hantera relativa zoomnivåer baserat på föräldra- / barnrelationer.
Se också till att du tar tag i huvudkoden och JavaScript från föregående exempel. Jag använder samma exakta inställning, bara min kropp HTML och CSS kommer att ändras.