【问题标题】:Fancybox2 not opening full width on first loadFancybox2 在第一次加载时没有打开全宽
【发布时间】:2012-02-27 08:44:03
【问题描述】:

我在我的网站 www.baseshamai.com 上使用了 fancybox2。 如果您单击投资组合,然后(现在只有前 2 个拇指有效)第一次单击缩略图,它要么加载一个瘦块,要么从一个奇怪的地方加载它。但是,下次您打开相同的缩略图时,它会正确加载它。 为什么会这样? 甚至当我将 minWidth 设置为 auto 时,它也会打开正确的尺寸,但在一个奇怪的地方。

我应该提一下,这些通过 fancybox 加载的页面几乎没有内容,而是有带有背景图像的 div。我认为分解图像更聪明。

【问题讨论】:

    标签: image load width fancybox


    【解决方案1】:

    由于您要打开外部页面,最好使用fancybox.iframe 而不是fancybox.ajax。如果您使用第二个,fancybox 将尝试从传入的内容中获取尺寸,并在重新计算尺寸后调整自身大小。下次打开fancybox时,由于尺寸已经缓存,它会正确打开。

    另外,如果您想更好地控制盒子的大小,您可以尝试将widthheight API 选项添加到您的自定义fancybox 脚本中。

    【讨论】:

    • 为什么?使用 ajax 和 iframe 有什么区别?它还不会尝试获取尺寸吗?
    • 当 'autoSize' 设置为 'true' 并且 'type' 是 'inline'、'ajax' 和 'html' 时,fancybox 将尝试从传入内容中获取尺寸。当您要加载的页面具有自己的 html 结构、样式等时,您可以使用 iframe 类型,并且可以从 fancybox 中呈现为常规 http 页面......在这种情况下,fancybox 无法从 iframe 类型文档中获取维度,您应该将它们设置为选项。
    • 另一方面,Ajax 通常用于从 html、txt、php 或 asp 文档中提取信息块。此类文档可能有也可能没有正确的 html 结构,除非您在此类文档中设置尺寸,否则您应该将 autoSize 设置为 false,并将宽度和高度设置为 fancybox API 选项以避免那些“意外”结果(查看 fancyapps.com - autoSize文档)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多