2011-11-09 128 views
2

我正在使用Fancybox。如何显示Fancybox预加载图像

当点击下面的链接时,模式窗口会打开,但它会在内容加载时显示一个白色框。

<a class="iframe" href="/icons/?icon_for=<%[email protected]%>&category=<%=Icon::USER_DEFAULT%>" id="user_iframe"> 
             <%= image_tag("avatar-bis.png", :width => 140, :height => 128, :class => "dotted")%> 
           </a> 

所以我想显示内容加载时的动画图像。 我有链接被点击时调用以下:

<script> 
     $('a.iframe').live("click",function(){ 
     $('#fancybox-loading').show(); 
     }); 
</script> 

这将产生以下:

enter image description here

但是它没有动画。这是一个静态图像。我如何加载它以显示动态图像?

谢谢。

回答

3

您可以使用这些的fancybox的API:

显示加载动画:

$.fancybox.showActivity() 

隐藏加载动画:

$.fancybox.hideActivity() 
+0

我在哪里放$ .fancybox.hideActivity()?我试图把它放在装入fancybox的实际页面上,但它隐藏了纺车。 – chell

+0

好吧,明白了。我需要用户父。$。fancybox.hideActivity() – chell

+0

这很糟糕,并且不起作用。 – 2013-06-05 15:58:24

4

有关的fancybox 2,正确的方法使用的是$.fancybox.showLoading();$.fancybox.hideLoading();