Fancybox:Overlay根据需要在div中打开,但不是内容

时间:2014-03-03 01:16:58

标签: javascript jquery fancybox fancybox-2

我目前根据需要在我的#main div中打开Fancybox叠加层,而不是在body元素内打开的默认行为。

我按照几个stackoverflow线程中的建议,通过更改此行中的jquery.fancybox.js脚本来完成此操作:

this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : 'body' );

到此:

this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : '#main' );

这适用于定位叠加层。

我希望Fancybox将所有弹出内容集中在该叠加层中。但是,打开的第一个Fancybox内容不会在叠加层中居中,而是位于body内 - 这种意外行为有时会将幻灯片内容部分放在叠加层之外。后续的fancybox元素在叠加层中居中 - 它只是第一个以body为中心的加载元素。

显然,Fancybox在计算视口尺寸方面遇到了相当大的麻烦,并且可以将其内容集中在body元素中,但在这种情况下,我希望所有元素都集中在我的目标#main div中, .fancybox-overlay

编辑 - 将“parent.lenth”(原始jquery.fancybox.js文件中的拼写错误)更改为“parent.length” - 正如下面的djehrame所指出的那样。行为持续不断。

0 个答案:

没有答案