この質問に対する答えは、hrefのないFancyboxギャラリーですか?fancyboxv1.3.4用に作成されました。
同じソリューションがfancyboxv2.xでも同様に機能しますが、 fancybox v2.x APIオプションは新しく、以前のバージョンと互換性がないことに注意してください...したがって、実際にAPIオプションをアップグレードしてv2で機能させる必要があります。バツ
これがv2.xアップデートです:
基本的なhtml:
<div id="myContainer">
<img src="images/01t.jpg" data-href="images/01.jpg" alt="" />
<img src="images/02t.jpg" data-href="images/02.jpg" alt="" />
<img src="images/03t.jpg" data-href="images/03.jpg" alt="" />
<img src="images/04t.jpg" data-href="images/04.jpg" alt="" />
<img src="images/05t.jpg" data-href="images/05.jpg" alt="" />
</div>
... (HTML5)()属性を使用して大きな画像をターゲットにし、この属性でサムネイルをターゲットにしていることに注意してください。data-*
data-href
src
次に、js:
// the function we call when we click on each img tag
function fancyBoxMe(e) {
var numElemets = $("#myContainer img").size();
if ((e + 1) == numElemets) {
nexT = 0
} else {
nexT = e + 1
}
if (e == 0) {
preV = (numElemets - 1)
} else {
preV = e - 1
}
var tarGet = $('#myContainer img').eq(e).data('href');
$.fancybox({
href: tarGet,
helpers: {
title: {
type: 'inside'
}
},
afterLoad: function () {
this.title = 'Image ' + (e + 1) + ' of ' + numElemets + ' :: <a href="javascript:;" onclick="fancyBoxMe(' + preV + ')">prev</a> <a href="javascript:;" onclick="fancyBoxMe(' + nexT + ')">next</a>'
}
}); // fancybox
} // fancyBoxMe
// bind click to each img tag
$(document).ready(function () {
$("#myContainer img").each(function (i) {
$(this).bind('click', function () {
fancyBoxMe(i);
}); //bind
}); //each
}); // ready
そしてもちろん、ここにデモがあります