我正在开发一个网站,我想添加一些新功能。我正在使用 Fancybox,效果很好!
这是问题所在:
当您单击 POI 时,其中一些有超过 1 张照片,因此使用以下代码,您可以看到它正确触发了 fancybox,但它只显示 1 张照片而不是整个画廊。
我所做的是我只是将那个html复制到隐藏的div中并将它附加到另一个,这样我就可以正确触发它,也许我自己太复杂了:/-
它有效,但仅显示 1 张照片,不显示其他 2 张或更多照片。
我的html
<div id="pois">
<div id="torrebenefebvlc" class="pointer hoversin" alt="2" style="margin-top: 295px; margin-left: 305px; position: absolute;">
<img src="http://www.vistadesarrollos.com/avancedeobra2/images/POI-90.png">
<div style="display:none">
<div id="slideimg" style="">
<a class="fancybox" href="http://www.vistadesarrollos.com/avancedeobra2/images/avance/torrebenefeb2013vlc.jpg" data-fancybox-group="gallery2" rel="gallery2">
<img style="" src="http://www.vistadesarrollos.com/avancedeobra2/images/avance/torrebenefeb2013vlc.jpg"></a>
<a class="fancybox" href="http://www.vistadesarrollos.com/avancedeobra2/images/avance/torrebenefeb2013vlc2.jpg" data-fancybox-group="gallery2" rel="gallery2">
<img style="" src="http://www.vistadesarrollos.com/avancedeobra2/images/avance/torrebenefeb2013vlc2.jpg"></a>
</div>
</div>
</div>
</div>
如您所见,这是我的fancybox 中的html。
JQUERY:
function clickfotovid(){
$("#pois div").click(function() {
eldiv = $(this).find('div').find('div').html()
//eltamano = eldiv.length;
//alert(eldiv)
/*if(eltamano > 97){
slidershow(1,eldiv)
}
else{
slidershow(0,eldiv)
}*/
fancyboxftw(eldiv)
});
}
function fancyboxftw(html){
$("#cargastuff").html("");
$("#cargastuff").wrapInner("<div id='sliderimg'></div>")
$("#sliderimg").html(html)
$("#sliderimg a").each(function () {
if ($(this).has('img').length) {
$(this).fancybox();
$("#sliderimg a:first").trigger('click')
}
});
}
有任何想法吗?到底是怎么回事?顺便说一句,父母的 div 都是隐藏的。
编辑:所以它现在的工作问题是当它有 2 个或更多图像时,它只是显示它们而不是做画廊。
编辑2:
Fancybox 有效,但仅显示 1 张图片:/
编辑3:
依然没有 :/
编辑4:
这是 jsfiddle http://jsfiddle.net/yZ7N5/