我正在使用Fancybox使用 AJAX 加载一些内容。
内容:
<div class="container">
<h2>An image</h2>
<div class="span-16 colborder center clearfix">
<img src="/system/images/apple.jpg">
</div>
<div class="span-7 last clearfix">
something here
<br>
something here
</div>
<div class="span-24 last">
FOOTER FOOTER FOOTER
</div>
</div>
JS:
$('a.edit-image').fancybox({
'autoScale' : false,
'scrolling' : 'no'
});
内容已加载,但 Fancybox 仅以容纳文本的高度进行渲染,使图像溢出底部。图像(可能非常大)需要一些时间来加载,我认为 Fancybox 不会等待它来确定应渲染的高度。
将图像放置在页面的其他位置(作为预加载的一种形式)可以防止该错误。此外,它仅在第一次打开 Fancybox 时发生,因为此后每次都会对其进行缓存。
有人知道让 Fancybox 以正确的高度渲染的最简单的方法,或者只是将其高度设置为“自动”吗?
谢谢!
最佳答案
我在 .container div 的调整大小事件上添加了一个触发器,该触发器调整了 fancybox-content div 的大小。这样就完成了工作。
关于jQuery Fancybox 在确定其尺寸之前不会等待 AJAX 内容加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234932/