galeria działa w następujący sposób:
- w okienku głównym przeskakuje mi zdjęcie które mogę kliknąć aby wyświetlić je w powiększeniu (czyli standardowo przyciemni ekran i powiększy mi do normalnych rozmiarów fotkę)
- w okienku z miniaturami przeskakują miniatury, natomiast po kliknięciu którejś z nich w okienku głównym pojawia się zdjęcie odpowiadające klikniętej miniaturce
To co chcę zmienić to żeby po kliknięciu w miniaturkę uruchomił się lightbox i otworzyło się zdjęcie w jego oknie.
Trochę przyjrzałem się obu skryptom i rozwiązanie widzę w ten sposób:
- w funkcji odpowiedzialnej za wykonanie czynności po kliknięciu w miniaturkę
CODE
'click': function(i){
this.go(i);
return false;
}.pass(i, this),
this.go(i);
return false;
}.pass(i, this),
wskazał bym funkcję z lightboxa
CODE
click:function(D)
{
if(this.options.descriptions!=false)
{
this.options.descriptions.each(function(F,E)
{
if(F.hasClass(D.id))
{
this.linkLoc=E
}
},
this)
}
if(D.rel.length==8)
{
return this.show(D.href,D.title)
}var C,B,A=[];
this.anchors.each(function(E)
{
if(E.rel==D.rel)
{
for(C=0;C<A.length;C++)
{
if(A[C][0]==E.href){break}
}
if(C==A.length)
{
A.push([E.href,E.title]);
if(E.href==D.href){B=C}
}
}
},
this);
return this.open(A,B)
},
{
if(this.options.descriptions!=false)
{
this.options.descriptions.each(function(F,E)
{
if(F.hasClass(D.id))
{
this.linkLoc=E
}
},
this)
}
if(D.rel.length==8)
{
return this.show(D.href,D.title)
}var C,B,A=[];
this.anchors.each(function(E)
{
if(E.rel==D.rel)
{
for(C=0;C<A.length;C++)
{
if(A[C][0]==E.href){break}
}
if(C==A.length)
{
A.push([E.href,E.title]);
if(E.href==D.href){B=C}
}
}
},
this);
return this.open(A,B)
},
odpowiedzialną za wyskoczenie okienka ze zdjęciem. Problem w tym, iż nie bardzo wiem jak wskazać funkcję z innego pliku i czy jest to w ogóle możliwe w tym wypadku.
Aha. Jako iż nie umiem samego JS nie mam pewności czy wymienione prze zemnie funkcje wykonują czynności które opisałem. Programowałem trochę w innych językach (c#) i tylko w niewielkim stopniu rozumiem kod z JS.
Link do js.zip