【问题标题】:jQuery Fancybox doesn't wait for AJAX content to load before determining its dimensionsjQuery Fancybox 在确定其尺寸之前不会等待 AJAX 内容加载
【发布时间】:2023-04-01 00:45:01
【问题描述】:

我正在使用 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 以正确的高度渲染,或者只是将其高度设置为“自动”的最简单的方法吗?

谢谢!

【问题讨论】:

    标签: jquery height fancybox


    【解决方案1】:

    我在 .container div 的 resize 事件上添加了一个触发器,它调整了 fancybox-content div 的大小。这样就完成了。

    【讨论】:

      【解决方案2】:

      加载 AJAX 内容后,您可以简单地使用 update 方法来调整 fancybox 的大小。

      $.fancybox.update();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多