Obsługa pluginu jest maksymalnie uproszczona - po załadowaniu pliku js oraz css z biblioteką wystarczy podać ścieżkę do zdjęcia i już możemy cieszyć się z uruchomionego efektu.
$(document).ready(function(){
var config = {
image : 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqq3kV3UeDegVEY3DN_cPLNhFWjTQjGkKelTo-mVyDQc2aWWSiN1pr9rjPCFGmkZFaQw0jc3x1mlMbxCKJUUD5_AyuNfxixTWXNXqPzeIXaL5gIjRF8eMk86ZFLE64-FEn49sgzDfL2lsA/s640/IMG_7576.jpg',
}
$('#hello-world').photoShoot(config)
});
Dostępne opcje pluginu (podawane w obiekcie config) to:
- image (wymagany) - ścieżka do obrazka
- blurLevel - poziom rozmazania obrazki
- opacity - poziom przezroczystości obrazka w tle - zakres od 0 do 1 - im mniejszy tym obrazek bardziej przezroczysty
- viewFinder - obiekt definiujący obszar "wizjera":
- width - szerokość
- height - wysokość
- img - obrazek (domyślnie pusty ciąg znaków)
- onClick - funkcja wywoływana po kliknięciu - przekazuje w parametrze do funkcji obiekt z własnościami top oraz left definiującymi położenie lewego górnego rogu migawki
- dodaniu warstwy, gdzie będą wrzucane wykonane zdjęcia (.album)
- dynamiczym tworzeniu obiektów, które będą zawierały wykonane "wycinki" ze zdjęcia (.shot)
- dodanie efektu "przewijania" do zrobionych zdjęć (.album .slide)
.shot{
border:3px solid #FCFCFC;
float:right;
position:relative;
margin-left:10px;
overflow:hidden;
/* cień w css3 */
-moz-box-shadow:0 0 2px black;
-webkit-box-shadow:0 0 2px black;
box-shadow:0 0 2px black;
}
.shot img{
display:block;
}
.album{
/* przechowuje zdjęcia */
bottom:50px;
height:110px;
overflow:hidden;
position:absolute;
right:20px;
width:490px;
}
.album .slide{
/* warstwa do przesuwania */
width:700px;
height:110px;
position:relative;
left:-210px;
}
A teraz część JavaScript'owa (wersja angielska dostępna w przykładzie w linkach na samym dole):// definicja obrazka
var myImage = {
url: 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqq3kV3UeDegVEY3DN_cPLNhFWjTQjGkKelTo-mVyDQc2aWWSiN1pr9rjPCFGmkZFaQw0jc3x1mlMbxCKJUUD5_AyuNfxixTWXNXqPzeIXaL5gIjRF8eMk86ZFLE64-FEn49sgzDfL2lsA/s640/IMG_7576.jpg',
w: 580,
h: 387
}
/**
* funkcja przyjmuje obiekt position - opisany powyżej
* @param object position
*/
function takePreview(position) {
var newShot = $('<div class="shot">').width(150).height(100);
newShot.append( $('<img height="'+(myImage.h/2)+'" src="'+myImage.url+'" width="'+(myImage.w/2)+'" />').css('margin',-position.top*0.5+'px 0 0 -'+position.left*0.5+'px') );
// usuwanie 4-go obrazka (który się schował poza linię)
$('.shot').eq(3).remove();
// dodawanie obiektu i przesuwanie
newShot.css('margin-right',-160).prependTo('.album .slide').animate({marginRight:0},'slow');
}
$(document).ready(function(){
var config = {
image : myImage.url,
onClick: takePreview
}
$('#hello-world').photoShoot(config);
$('<div class="album">').html('<div class="slide">').appendTo('#hello-world');
});
Oficjalna strona pluginu
Tutorial jak zrobić efekt "widoku przez wizjer"
Demo pluginu

Brak komentarzy:
Prześlij komentarz