Skapa en fantastisk zoomande webbsida med jQuery

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.

När du är färdig med att utforma galleribehållaren är det dags att göra vår stora lista med bilder överensstämmer med ett rutnät. För att göra detta, deklarera? Ingen? som liststypstyp och flyter de? li 'elementen kvar. Observera också positioneringskontexten och svängningseffekten. För den senare av dessa släppte jag marginalerna på svävar så att gränsen inte skulle påverka layouten. Så att börja, har varje miniatyrbild en marginal på 10px, sedan på svängaren har en miniatyrbild en marginal på 7px och en 3px-gräns (7 + 3 = 10).

Med det är vi alla färdiga! Klicka på bilden nedan för att starta demoen.

Slutsats

Idag använder vi HTML, CSS och JavaScript synergistiskt för att skapa ett galet webbgalleri som zoomar in i en miniatyrbild när du klickar. Som vi visade i testdemoen kan samma effekt fungera på något element du vill ha!

Vi har knappt repat ytan på vad Zoomooz.js kan göra. Stanna vid projektsidan för att se hur man gör ännu mer med denna fantastiska plugin.