2009-09-15 21 views
10

ColorBox veya jQuery Lightbox Plugin gibi bir ışık kutusu kullanarak nasıl bir galeri/görüntü dizisi açan tek bir bağlantı oluşturabilirim?JQuery lightbox nasıl yapılır?

Örneğin 1 küçük resmim var ve bir kullanıcı tıklattığında, ışık kutusundaki birden çok resim açılmasını istiyorum, böylece kullanıcı o galerideki tüm resimleri görüntülemek için sonraki veya önceki tıklatabilir.

Düşüncelerim, 1 resmi normal 1 bağlantı olarak yapıyorum, ardından ilk bağlantıyı gizlemek için jquery kullanıyorum. Daha iyi bir yol olmalı?

Teşekkürler.

cevap

32

çözüm uygun (ve daha verimli) 'dir:

HTML:

<div id='gallery'> 
    <a href="images/big-image1.jpg"> 
     <img src="images/thumbnail-image1.jpg"/> 
    </a> 
    <a href="images/big-image2.jpg" ></a> 
    <a href="images/big-image3.jpg" ></a> 
    <a href="images/big-image4.jpg" ></a> 
</div> 

jQuery/JS:

$(document).ready(function() { 
    $('#gallery a').lightBox(); 
}); 

Not: Gördüğünüz gibi, ankraj bağlantılarını galeriden ayrı olmak istediğiniz diğer görüntülere sıralayın. İşaretlemeye resim eklemenize ve ardından bunları JS ile gizlemenize gerek yoktur. Yukarıdaki biçimlendirme örneğinde göreceğiniz tek görüntü, images/thumbnail-image1.jpg Işık Kutusu, geri kalanları otomatik olarak gizleyecek ve ardından her birini uygun zamanda gösterecektir. Farklı bir eklenti kullanmak isteyebilirsiniz gibi sesler

+1

Açıkladığınız yolu seviyorum. – feihtthief

+0

Kahraman! Çok güzel bir yol bile jquery eleman ayrı başlatma gerekmez bu – Voles

+1

yeni lightbox2 yapmak. $> bower lightbox2'yi yükle --ve sonra js ve css'yi ekleyin. Serideki tüm resimlerinizi data-lightbox = "image_gallery_unique_id" olarak yazınız –

0

Yanlış anlaşılma olabilir, ancak ColorBox'un sunduğu "gruplandırılmış fotoğraf" stil galerisinden daha fazlasını yapmak istediğiniz izlenimi alıyorum. Tanımladığınız bir sonraki/önceki işlevsellikten tam olarak emin değilim, ancak düşüncem bu fonksiyonu önce ColorBox olmadan yazmak olurdu.

Görüntüleme galerinizi sayfa içerisinde normal bir div olarak ekleyin. Galeriyi ve davranışını kendi isteğinize göre ayarladığınızda, ColorBox'u divunuzda satır içi olarak arayabilirsiniz (yeni oluşturduğunuz denetimi pop-up içinde gösterir). jQuery Lightbox yazılım programını kullanarak

3

, örnek kod aşağıdakileri yapmak diyor ki:

$(document).ready(function() { 
    $('#gallery a').lightBox({fixedNavigation:true}); 
    $('#gallery a:gt(0)').hide(); 
}); 

tüm bağlantıları bir lightbox açın ve galeride gezinmek için Önceki/Geri bağlantıları olmalıdır yapar Yani. Aradığın şey bu mu?

(örnek burada mevcuttur: http://leandrovieira.com/projects/jquery/lightbox/#example)

İşte
+4

$ ('# galerisi: gt (0)')) (gizlemek; İlk bağlantı dışındaki tüm diğer bağlantıları gizlemek istiyorsanız. – richsage

+0

Işık kutularını nasıl kullanacağımı biliyorum, sanırım soruyu yeterince açıklığa kavuşturmamalıyım ama richsage, aradığım şey olanı ilk olarak saklayan önemli bir kod içeriyor ama ona cevap veremiyorum çünkü bir yorum. – ritch0s

1
<a href="../gallery/renos/logo.jpg" rel="lightbox[renovation]"></a> 

Yani: Daha sonra ekleyebilirsiniz

rel="lightbox[renovation]" 
+0

@Cindy Üzgünüm, işim bitmeden önce enter tuşuna basın. Rel = "aaaa" ifadesini href'inizden sonra, ancak> 'dan önce koyun. Umarım bu mantıklıdır. Bütün çizgiyi yazmayı denedim, ama sanırım bağlantılar izinli değil ya da bir şey. Üzgünüm, bu benim ilk defa tahtada. –

İlgili konular