使用Fancybox,如何在轨道中重新定位“灯箱”?

时间:2011-10-20 22:50:19

标签: jquery ruby-on-rails ruby-on-rails-3 fancybox

我有一个灯箱,里面有说明书。它有远程链接,然后翻阅几页内容,远程替换灯箱中的元素。

我遇到的问题是,当灯箱中呈现新内容时,它不会重新定位灯箱。但是,如果您尝试调整窗口大小,请重新定位该框。

有人知道如何在远程页面更改后添加一行代码来重新定位灯箱吗?

背景资料:我在灯箱中渲染内容:

 <%= render 'partial1' %>

远程更改此部分的链接使用控制器中的“next_page”操作。此操作远程响应,因此可以使用next_page.js.erb文件(其中可以添加解决方案)。

如果我能提供其他相关背景信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果在重新调整浏览器大小时灯箱会重新调整大小,请尝试在resize对象上触发window事件(因为灯箱可能有{{1}的事件侦听器} event):

resize

将以上代码添加到更新灯箱内容的JavaScript末尾。

Fancybox API中还有一些选项可能有所帮助:

  1. $(window).trigger('resize); - 您可以调用此方法,灯箱会根据当前内容的高度重新调整自身大小。
  2. $.fancybox.resize - 这是一个可以在初始化灯箱时设置为autoDimensions的选项,Fancybox会自动将其自身重新调整为新内容的尺寸。正如文档所述:
  3.   

    “确保它有尺寸,否则会产生意外   结果“

    我在这里找到了API选项:http://fancybox.net/api