你如何在运行时调整Fancybox的大小?

25 jquery resize fancybox

有没有人知道如何在运行时调整jQuery Fancybox的大小?

初始化fancybox时我可以这样做:

$("tag").fancybox({ 'frameWidth': 500, 'frameHeight': 700 });
Run Code Online (Sandbox Code Playgroud)

我正在用动态内容填充fancybox,我希望它根据内容调整大小.

小智 41

如果您使用的是Fancybox 1.3版,则有一个resize方法:

$ .fancybox.resize();

对于Fancybox2.x版本,可以使用以下方法:

$ .fancybox.update()

这将根据其中的内容大小调整活动fancybox的大小.

  • 这只会调整高度,而不是宽度. (7认同)
  • 用fancybox 2.0.6尝试更新(),没有成功.(宽度没有更新,正如汉斯指出的那样)使用fancybox 2.1.5,它可以工作,宽度和高度都会调整大小. (2认同)

dan*_*ndu 11

Alan的解决方案不完整,因为在修改大小后,该框不再位于屏幕中心(至少使用最新的jquery和fancybox版本).

所以,完整的解决方案是:

$("#fancy_outer").css({'width': '500px', 'height': '500px'});
$("tag").fancybox.scrollBox();
Run Code Online (Sandbox Code Playgroud)


Ala*_*lum 3

如果 Fancybox 是 jQuery UI 的一部分,你会这样做:

$("tag").fancybox.option('frameWidth', 500);
Run Code Online (Sandbox Code Playgroud)

但由于好像没有提供这样的方法,所以需要直接设置CSS:

$("#fancy_outer").css({'width': '500px', 'height': '500px'});
Run Code Online (Sandbox Code Playgroud)