Elevate Zoom
Zoom | 3. Zoom manager | 2. Billedkode |
Eksempel 1. Enkelt billede - Simpelt zoom med grøn tint. |
|
<script>
$('#zoom_01').elevateZoom({
zoomType: "window",
cursor: "crosshair",
tint: true,
tintColour: "green",
});
</script>
|
<img id="zoom_01" src="billeder/billed03.jpg" alt="Blæksprutte" data-zoom-image="billeder/zoom03.jpg" />
| Eksempel 2. Enkelt billede - Varierende forstørrelse.
|
Kør med musehjulet under zoom
|
<script>
$('#zoom_02').elevateZoom({
zoomType: "inner",
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 3750,
scrollZoom: true,
});
</script>
|
<img id="zoom_02" src="billeder/billed04.jpg" alt="Blæksprutte" data-zoom-image="billeder/zoom04.jpg" />
| Eksempel 3. Enkelt billede - Fancy Box |
Klik på billedet for visning i Fancy box
|
<script>
$('#zoom_03').elevateZoom({
zoomType: "lens",
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 750,
lensShape: "round",
lensSize: 150,
galleryActiveClass: 'active', // Ved overførsel til Fancy Box
});
//overførsel af billeder til Fancy box
$("#zoom_03").bind("click", function(e) {
var ez = $('#zoom_03').data('elevateZoom');
ez.closeAll();
$.fancybox(ez.getGalleryList());
return false;
});
</script>
|
<img id="zoom_03" src="billeder/billed01.jpg" alt="Blæksprutte" data-zoom-image="billeder/zoom01.jpg" />
|
Eksempel 4. Galleri |
|
<script>
$("#zoom_04").elevateZoom({
gallery:'gal_04',
cursor: 'pointer',
imageCrossfade: true,
loadingIcon: 'http://www.elevateweb.co.uk/spinner.gif'});
</script>
|
<img id="zoom_04" src="billeder/billed02.jpg" data-zoom-image="billeder/zoom02.jpg"/>
<div id="gal_04">
<a href="#" data-image="billeder/billed01.jpg" data-zoom-image="billeder/zoom01.jpg"/>
<img src="billeder/thumb01.jpg" />
</a>
<a href="#" data-image="billeder/billed02.jpg" data-zoom-image="billeder/zoom02.jpg"/>
<img src="billeder/thumb02.jpg" />
</a>
<br />
<a href="#" data-image="billeder/billed03.jpg" data-zoom-image="billeder/zoom03.jpg"/>
<img src="billeder/thumb03.jpg" />
</a>
<a href="#" data-image="billeder/billed04.jpg" data-zoom-image="billeder/zoom04.jpg"/>
<img src="billeder/thumb04.jpg" />
</a>
</div>
|
Eksempel 5. Galleri - Fancy box |
Klik på billedet for visning i Fancy box
|
<img id="zoom_05" src="billeder/billed03.jpg" data-zoom-image="billeder/zoom03.jpg"/>
<div id="gal_05">
<a href="#" data-image="billeder/billed01.jpg" data-zoom-image="billeder/zoom01.jpg">
<img src="billeder/thumb01.jpg" />
</a>
<a href="#" data-image="billeder/billed02.jpg" data-zoom-image="billeder/zoom02.jpg">
<img src="billeder/thumb02.jpg" />
</a>
<br />
<a href="#" data-image="billeder/billed03.jpg" data-zoom-image="billeder/zoom03.jpg">
<img src="billeder/thumb03.jpg" />
</a>
<a href="#" data-image="billeder/billed04.jpg" data-zoom-image="billeder/zoom04.jpg">
<img src="billeder/thumb04.jpg" />
</a>
</div>
|
Etableringen af Elevate Zoom på en HTML-side fordeles på 3 opgaver:
- Links til .js og .css filer
- Indsættelse af billeddata
- Opbygning af jQuery med styredata. Her kaldet ZOOMmanager.
Generelt
Der kan vise zooms på 3 + 1 forskellige måder:
- window
Viser udsnit af zoombilledet i er separat vindue op mod ydersiden af det billede, der zoomes fra. Vinduet kan placeres i 16 forskellige positioner tæt knyttet til normalbilledet - eller i en div-boks hvorsomhelst på skærmen.
- inner
Viser udsnit af zoombilledet inde i det billede, der zoomes fra.
- lens
Viser udsnit af zoombilledet som en linse (et forstørrelsesglas) holdt hen over det billede, der zoomes fra.
- Fancy Box
Zoom-billedet kan vises i fuld størrelse med Fancy Box.
Der kan vises zooms i 2 forskellige udformninger:
- enkeltbillede
Visning af zoom for et enkelt billede.
- galleri
Visning af zoom for flere billeder samlet i et galleri med "frimærkebaseret" valg af aktuelt billede.
Installation
Udover opkobling til jQuery via en CDN-forbindelse anvender Elevate Zoom en enkelt javaScript/jQuery-fil. Den skal der aldrig røres ved idet al styring (ved afvigelser fra default) foretages i det event-skript (Zoom manager), der er knyttet til hver enkelt zoom-aktivitet. Dette betyder igen, at der kan være flere / mange zooms på en enkelt side med hver sin individuelle opsætning og fremtræden.
ElevateZoom installeres således:
- Download ElevateZoom f.eks. herfra:
![Tags typer](/felles/ikoner/rodfir1.gif)
- Åbn Zip.filen i download-mappen.
- kopier filen jquery.elevatezoom-x.x.x.min.js til relevant mappe i aktuelt site.
- På de sider i aktuelt site, hvor ElevateZoomer skal anvendes, linkes der til filen som beskrevet nedenfor.
Links
Links til .js og .css filer placeres i den nederste del af <HEAD>-tagget.
.js og .css filerne placeres fysisk i overensstemmelse med praksis i eller efter rodfilen for aktuelt site. Nedenfor linkes der til dem.
<-- Links til ElevateZoomer (og Fancy Box) -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script> <!--eller en anden CDN-server-->
<script src='..sti../jquery.elevatezoom-x.x.x.min.js'></script>
<script src='..sti../jquery.fancybox.pack.js'></script> <!-- Kun når Fancy Box anvendes -->
<link rel="stylesheet" href="..sti../jquery.fancybox.css" media="screen" /> <!-- Kun når Fancy Box anvendes -->
|
CDN-filen hentes typisk ekternt, mens de øvrige filer placeres fysisk i overensstemmelse med praksis for aktuelt site.
Der linkes kun til de to sidste filer, når Fancy Box skal tilkobles.
Indsættelse af billeddata.
Til enkeltbilled-zooms skal benyttes 2 billeder: et normalbillede til indsættelse og et zoom-billede til at zoome fra. I galleri-zooms skal også benyttes et "frimærke"/"thumbnail"-billede. Med udgangspunkt i zoom-billedet etableres de andre ved downsizing. Der benyttes samme størrelsesforhold hele vejen igennem. Forslag om størrelser på 100x67, 411x274 og 1280x854px er set.
Både ved enkeltbilled-zooms og ved galleri-zooms indsættes data for et billede (det pågældende billede eller zoomen's startbilledet).
Opbygningen er den samme i begge tilfælde:
<img id="zoom_01" src="billeder/billed03.jpg" alt="Blæksprutte" data-zoom-image="billeder/zoom03.jpg" />
|
Billedet indsættes i HTML-koden, der hvor det skal vises.
Billedet linkes til ZOOMmanageren med id="xxx".
Ved gallerizooms indsættes yderligere en divbox der indeholder data for hvert af de billeder, der skal indgå i galleriet.
<div id="gal_05">
<a href="#" data-image="billeder/billed01.jpg" data-zoom-image="billeder/zoom01.jpg">
<img src="billeder/thumb01.jpg" />
</a>
<a href="#" data-image="billeder/billed02.jpg" data-zoom-image="billeder/zoom02.jpg">
<img src="billeder/thumb02.jpg" />
</a>
</div>
|
Div-boxen indsættes oftest lige under koden til billedet, men kan også placeres andetsteds.
Div-boxen linkes til ZOOMmanageren med id="xxx".
ZOOMmanageren.
ZOOMmanageren er det centrale element i anvendelsen af ElevateZoom. De skal placeres nederst i <BODY>-tagget for at fungere.
ZOOMmanageren er et lille jQuery script, der består af to dele:
<script>
$("#zoom_04").elevateZoom({
gallery:'gal_04',
cursor: 'pointer',
imageCrossfade: true,
loadingIcon: 'http://www.elevateweb.co.uk/spinner.gif'});
</script>
|
- inddata-del
Den første linie i scriptet indeholder linkene mellem hhv. (start-)billedet og manageren og mellem manageren og javaScript-programmet. Link-identen i manageren skal også være til stede i billedet. De kan være en hvilkensomhelst tekst, men skal altid være ens de to steder.
- funktions-del
I funktions-delen (mellem { og }) kan der være mange eller få parametre, der af hensyn til overskuelighed bør placeres med et pr linie. Eksempler på anvendelse af funktioner kan ses her: . Såfremt defaultopsætningen ikke passer til det aktuelle behov, kan her (som en kommasepareret liste) indsættes de parametre og parameterværdier, der er nødvendige for at "flytte" zoomen fra default-funktionaliteten til den ønskede. Til denne opbygning gøres brug af den officielle oversigt over parametre .
Ved galleri-zoom skal parameteren "gallery: 'aaa'," medtages. Den linker til id="aaa" i divboxen.
Husk javaScript er case-sensitive.
Der kan laves zoom for et i princippet ubegrænset antal enkelt-billeder / gallerier på samme HTML-side - og de kan zoome på hver sin måde så længe der er parametervariationer til rådighed dertil. For hvert indsat billede skal der også indsættes en ZOOMmanager. Hver billede - divbox / manager kombination skal have sin egen indivuduelle ident.
Fancy box - enkeltbilleder og galleri
ZOOMmanageren kan tilføres kode så zoom-billederne kan vises i FancyBox (der skal være installeret). Koden består af to dele:
-
I <HEAD> Efter linkene til Fancy Box indsættes:
<script>
$(document).ready(function(){
$('.fancybox').fancybox();
});
</script>
|
-
ZOOMmanageren tilføjes parameteret "galleryActiveClass: 'active'" og nedenunder data-delen indsættes nogle ekstra kodelinier. ZOOMmanageren kan herefter se således ud:
<script>
$('#zoom_03').elevateZoom({
zoomType: "lens",
cursor: "crosshair",
zoomWindowFadeIn: 500,
zoomWindowFadeOut: 750,
lensShape: "round",
lensSize: 150,
galleryActiveClass: 'active', // Ved overførsel til Fancy Box
});
//overførsel af billeder til Fancy box
$("#zoom_03").bind("click", function(e) {
var ez = $('#zoom_03').data('elevateZoom');
ez.closeAll();
$.fancybox(ez.getGalleryList());
return false;
});
</script>
|
Bemærk at FancyBox-koden skal have id-værdien fra ZOOMmanagerens inddata-del indsat 2 steder. Resten af koden skal lades uændret.
Ekstern styring
Der er set indikationer på, at man med den rette viden kan foretage tilpasninger af Elevate Zoom ved at indlægge egen kode i Zoom Manageren. Dokumentationen omkring hvad og hvordan er dog så mangelfuld, at en nærmere beskrivelse ikke er mulig her.
|