我正在使用jQuery fancybox2。 fancybox的内容是来自Amazon S3的图像。 图像的URL是动态设置的。 有些图像很大,打开它们有一点延迟。
我的问题是,第一次加载fancybox时,如果图像的高度超过视口高度,则无法显示滚动条。如果我关闭了fancybox并再次打开它,则会出现滚动条。
我使用的代码就是这个(在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会调整其高度并显示滚动条。
如何让滚动条第一次出现?
答案 0 :(得分:1)
尝试使用afterLoad而不是afterShow。
请参阅此处的回调部分: http://fancyapps.com/fancybox/#docs
答案 1 :(得分:0)
改变这个:
' autoSize的' :false