基本的に、2つのセレクターが必要になります。
1)。1つは、メソッドを使用してギャラリーのサムネイルをページにロードするための.load()
ものです。例loadGallery
:
<a href="javascript:;" class="loadGallery">add dynamic gallery thumbnails</a>
2)。要素をfancyboxにバインドする別の例lightbox
。ファイル「gallery.htmclass
」内のすべての要素は、次のようになっている必要があります。
<a class="lightbox" rel="gallery1" href="images/01.jpg"><img src="images/01t.jpg" alt="" /></a>
<a class="lightbox" rel="gallery1" href="images/02.jpg"><img src="images/02t.jpg" alt="" /></a>
<a class="lightbox" rel="gallery1" href="images/03.jpg"><img src="images/03t.jpg" alt="" /></a>
次に、これらの要素(メインページ内)を1つのスクリプトでfancyboxにバインドし、ギャラリーのサムネイルをページにロードして、同じ内でclick
次のような別の要素を使用してfancyboxギャラリーを起動します。
$(document).ready(function(){
// bind elements to fancybox
$(".lightbox").fancybox();
// load thumbnails and fire fancybox gallery
$('.loadGallery').on('click', function(e){
e.preventDefault();
var url = "gallery.htm";
$('#content').load(url, function(data, stat, req){
$(".lightbox").eq(0).trigger("click");
}); // load
$(this).remove(); // you may remove the selector loadGallery after loading the thumbnails
}); // on
}); // ready
2番目は非推奨になっているため、 .live().on()
の代わりに使用していることに注意してください。ただし、このメソッドにはjQuery1.7以降が必要です。.on()
.eq(0)
また、以前は最初のアイテムからギャラリーを開始していたことに注意してください。そうでない場合、ギャラリーはドキュメントに追加された最後の要素から開始されます。
更新:ここで動作することを確認してくださいデモ