. Hanya saja, mungkin dari
$('img', '#container')
O
's2', 's1'
yang berada di dalam ele-
segi performa agak berbeda.
Seleksi semua elemen
put> yang memiliki
atribut
[rel="upload"]') name="email" dan rel="upload"
32
Selanjutnya proses menampilkan tabir saat sebuah link gambar diklik dan
A
menganimasikan gambar dengan efek .fadeIn() saat gambar dimuat. Berikut
AY
kode penulisannya di CSS: #overlay { position:absolute;
AB
top:0px; right:0px; bottom:0px;
z-index:998;
R
left:0px;
SU
background-color:black; opacity:0.8;
display:none;
M
} img#large {
O
position:absolute; top:30px;
ST
IK
left:30px; z-index:999; display:none; }
Serta berikut penulisan di JQuery nya: // Sisipkan gambar dan overlay // dengan JQuery .append() untuk meminimalisasi markup
33
$('body').append('
'); var validURL = $('a[href$=".jpg"], a[href$=".png"], a[href$=".gif"],
A
a[href$=".bmp"]');
AY
// Saat sebuah tautan gambar diklik validURL.click(function() {
$('#overlay').show();
AB
// Tampilkan overlay
// Set nilai atribut src pada gambar besar menjadi nilai atribut href dari tautan yang diklik
R
$('img#large').attr('src', this.href);
});
SU
return false;
// Tampilkan gambar besar dengan efek .fadeIn() saat telah termuat
M
$('img#large').load(function() { $(this).fadeIn();
O
});
IK
// Hilangkan gambar dan overlay saat overlay diklik $('#overlay').click(function() {
ST
$(this).hide(); $('img#large').removeAttr('src').fadeOut();
});
34
Berikutnya proses penyisipan judul dan deskripsi gambar pada attribut TITLE
A
dalam tautan pada umumnya :
AB
AY
R
SU
Pada website “Keyna Galeri” penyisipan attribute title dengan membuat elemen baru sebagai container judul gambar, misalnya imgCap di JQuery:
M
// Sisipkan gambar, ruang judul dan overlay
// dengan JQuery .append() untuk meminimalisasi markup
O
$('body').append('
IK
id="large" />');
ST
var validURL = $('a[href$=".jpg"], a[href$=".png"], a[href$=".gif"], a[href$=".bmp"]');
// Saat sebuah tautan gambar diklik... validURL.click(function() {
35
// Tampilkan overlay $('#overlay').show();
A
// Set nilai atribut src pada gambar besar menjadi nilai atribut href dari tautan yang diklik
AY
$('img#large').attr('src', this.href);
// Sisipkan nilai atribut title pada elemen #imgCap dengan .html() $('#imgCap').html(this.title);
AB
return false; });
R
// Tampilkan gambar besar dengan efek .fadeIn() saat telah termuat $('img#large').load(function() {
});
SU
$(this).fadeIn();
// Hilangkan gambar dan overlay saat overlay diklik
M
$('#overlay').click(function() { $(this).hide();
O
$('img#large').removeAttr('src').fadeOut();
});
IK
Sampai disini proses pembuatan galeri gambar dengan teknik overlay Lightbox
ST
JQuery, selanjutnya merupakan proses perbaikan seperti memposisikan gambar, mengatur ukuran tabir pada saat overlay dengan mengkombinasikan CSS beser-
ta jQuery .CSS untuk mengaturnya. Berikut pengaturannya: Pada CSS /* Lightbox */
36
#imgOverlay { position:absolute;
A
top:0px;
AY
right:0px; bottom:0px; left:0px;
AB
z-index:9997; background-color:black; opacity:0.8;
}
display:block;
SU
#closeLightbox {
R
display:none;
font:bold 14px Arial,Sans-Serif; color:white;
M
text-decoration:none;
O
position:absolute; top:20px;
IK
right:26px;
z-index:9999;
ST
display:none;
} #imgWrapper { position:absolute; top:70px; right:0px;
37
left:0px; text-align:center;
A
z-index:9999;
AY
} img#imgShow { margin:0px auto 70px;
img#lightboxLoader { display:block;
} #imgCap {
SU
margin:30px auto 0px;
R
}
AB
display:none;
position:absolute; top:10px;
M
left:15px;
O
color:white;
z-index:9999;
IK
}
ST
Pada JQuery $('body') // Set scroll bar sumbu-Y menjadi scroll untuk menghindari efek loncatan yang jelek .css('overflow-y', 'scroll')
38
// Sisipkan semua elemen lightbox yang diperlukan
id="closeLightbox" title="Tutup!">×');
AY
// Set lebar overlay selebar jendela, dan tinggi overlay setinggi halaman
A
.append('
$('#imgOverlay').css({ 'width':$(window).width(),
AB
'height':$(document).height() });
SU
$('a:has(img)').click(function() {
R
// Saat tautan yang mengandung thumbnail diklik...
// Tampilkan overlay, pembungkus gambar dan tombol tutup $('#imgOverlay, #imgWrapper, #closeLightbox').show();
M
// Sisipkan gambar pada elemen #imgWrapper dengan nilai src berupa nilai href dari tautan yang diklik
O
// dan set nilai atribut alt gambar dari atribut title tautan yang diklik $('#imgWrapper').append('');
ST
// Sisipkan kontainer judul gambar dengan teks "Loading..." sebagai awalan $('body').append('Loading...
');
// Saat gambar besar telah selesai termuat... $('img#imgShow').load(function() {
39
// tampilkan dengan efek .fadeIn()
A
$(this).fadeIn(600);
// Ubah teks "Loading..." menjadi judul gambar (nilai atribut alt pada gambar besar)
AY
$('#imgCap').html(this.alt); });
});
// Saat tombol tutup diklik...
SU
// Hilangkan diri sendiri
R
$('a#closeLightbox').click(function() {
AB
return false;
$(this).hide();
// Singkirkan gambar dan kontainer judul sisipan
M
$('img#imgShow, #imgCap').remove();
// Hilangkan overlay dan pembungkus gambar dengan efek .fadeOut()
O
$('#imgOverlay, #imgWrapper').fadeOut(); return false;
ST
IK
});