Fancybox,当我打开一组图像并使用“开始索引”点击下一步时 – 它无法正常工作

当我用fancybox“开始索引”打开一组图像时,我遇到了问题。

//“img [2]”它是img,rel = 2

当我点击img时,它会打开。 加载后,当我点击“prev Img” – 它正常工作,但点击“下一个img” – 图库开始从img [0]播放。 使用fancyBox v2.0.3。 在行动:http: //youtu.be/1dii1qC9cOM

HTML:

 

JS:

 // Using group of images, received from ajax var hrefList = new Array; for (var i in data) { hrefList[i] = data[i].PATH } ul.find('a').live('click',function(e){ e.preventDefault(); var himself = $(this); $.fancybox( hrefList, { 'index': himself.attr('rel') }); }); 

您不需要将.live()与fancybox v2.x一起使用,因为它已经处理了当前和未来(动态添加)元素。 另外fancybox使用data-fancybox-grouprel来对现有元素库中的图像进行分组,但是由于你是从array创建一个手动图库,所以你实际上不需要其中任何一个,所以你可以像html一样简单(甚至你不需要标签,但让我们保持这样):

  

然后,为了获得每个缩略图的正确index ,您可以调整您的js,如:

 var hrefList = new Array; for (var i in data) { hrefList[i] = data[i].PATH } $("ul.gallery a").each(function(e){ $(this).click(function(){ $.fancybox( hrefList, { index: e, type: 'image' }); //fancybox });//click });//each 

这将始终为您提供以正确index开头的图库。

请注意,您不需要preventDefault() ,因为没有为每个锚设置任何href