jQuery Fancybox 在确定其尺寸之前不会等待 AJAX 内容加载

标签 jquery height fancybox

我正在使用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/

相关文章:

javascript - 左边的花式框文字

javascript - .delay() 函数不适用于 attr() 函数

javascript - 如果数据类型是 JSON 为什么 MIME 类型 'application/json' 会被拒绝?

css - 设置视口(viewport)上背景图像的大小减去导航栏

html - CSS:如何正确使用最小高度

javascript - 将 iFrame 内的 Fancybox 扩展到外部

javascript - jQuery 破坏其他 javascript

javascript - Jquery 元素未重新绑定(bind) + HTMLDivElement 无法识别的表达式

javascript - 合并事件监听器

animation - css3 过渡不应该在高度 : 100% and height: 200px? 之间设置动画