1

我正在使用 jQuery fancybox2。fancybox 的内容是来自 Amazon S3 的图像。图像的 URL 是动态设置的。有些图像很大,打开它们会有一点延迟。

我的问题是,第一次加载幻想框时,如果图像的高度大于视口高度,则无法显示滚动条。如果我关闭花式框并再次打开它,则会出现滚动条。

我正在使用的代码是这个(在 CoffeeScript 中)

show: (offer) ->
  options = {
    fitToView  : true,
    autoSize  : true,
    autoCenter :  true,
    closeClick  : false,
    height : 'auto',
    openEffect  : 'fade',
    closeEffect  : 'fade',
    scrolling : 'auto',
    afterShow: ->
      $.fancybox.update()
  }
  $.fancybox($("div#imageModal"), options)

正如您在 afterShow 中看到的那样,我正在调用 update 来调整 fancybox 的大小。问题是它在 s3 图像完成加载之前第一次调用 afterShow 。从下一次在浏览器中缓存图像时,它会快速加载,fancybox 会调整其高度并出现滚动条。

如何让滚动条第一次出现?

4

2 回答 2

1

尝试使用 afterLoad 而不是 afterShow。

请参阅此处的回调部分:http: //fancyapps.com/fancybox/#docs

于 2013-05-26T04:04:50.180 回答
0

改变这个:

“自动尺寸”:假

于 2017-11-12T07:12:38.793 回答