2012-07-26 52 views
0

我想更新我的画廊到fancybox 2.之前一切工作在版本1.3.4 现在不可能显示幻灯片中的下一个图像。它总是首先显示。 但是,如果我回到上一个和下一个,那么一切正常。Fancybox2与json imagegroup不显示下一个图像

看看这里:http://f.cl.ly/items/3Z1W0t2Z0U1U39452Z1a/fancybox_error.m4v

<script type="text/javascript"> 
    $(function() { 
     var images = []; 
     $.getJSON("/json/235", function(data) { 
      images = data.items; 
     }).error(function(e) { console.log(e); }); 

     $(".fancybox").click(function(e) { 
      e.preventDefault(); 
      $.fancybox(images, { 
       "zoomSpeedIn":0, 
       "zoomSpeedOut":0, 
       "padding":10, 
       "overlayShow":true, 
       "nextEffect":"none", 
       "nextClick":true, 
       "helpers":{ 
        "overlay":{ 
         "opacity":0.5, 
         "css": { "background-color":"#000" } 
        }, 
        "thumbs":{ "width":50, "height":50 } 
       }, 
       index : $(this).attr("rel"), 
       prevEffect : "slideOut", 
       nextEffect : "slideIn", 
       nextClick : true, 
       type: "image" 
      }); 
     }); 
    }); 
</script> 

JSON文件看起来像

{"items":[{ 
    "href":"\/images\/get\/resize\/1200\/1200\/gallery\/2010-12-12_Fraport_Werft\/SES_6880_01.JPG", 
    "title":"Fraport Werft"}, { 
    "href":"\/images\/get\/resize\/1200\/1200\/gallery\/2010-12-12_Fraport_Werft\/SES_6888_01.JPG", 
    "title":"Fraport Werft"} 
]} 
+0

这是什么选择? 'index:$(this).attr(“rel”),'因为'index'用于设置图库的起始元素,在这种情况下等于单击元素的'rel'属性....你尝试删除它吗? – JFK 2012-07-26 19:42:08

+0

在属性rel中是一个从0到x的数字。如果我删除它,图片总是从0位置开始 – SsS 2012-07-26 20:07:21

+0

您能否显示该问题的链接? – JFK 2012-07-27 03:17:21

回答

0

正如我在我的意见之一提到的,你应该记住的是,rel属性使用的fancybox来确定哪些元素属于同一个画廊。看起来,您使用rel属性通过index : $(this).attr("rel"),获取index的事实混淆了fancybox以获得正确的图库顺序。

如果你愿意更新/升级画廊的fancybox V2.X你也可以考虑升级到DOCTYPE HTML5,这样你可以使用data-*属性来设置正确的画廊元素index(和先不谈rel属性)在your example例如

因此,改变这种:

<a rel="0" class="fancybox" ..... 

这样:

<a data-index="0" class="fancybox" ..... 

等等等等。然后在你的脚本,此行更改:​​

index : $(this).attr('rel'), 

这个

index: $(this).data("index"), 

......这几乎将解决这个问题。

SEE DEMO HERE

+0

非常感谢,它的工作:) – SsS 2012-07-28 10:47:25