将fancybox 1迁移到fancybox 3。

问题描述 投票:0回答:1

我有一个相当大的(对我来说)使用Fancybox 1开发的网站,我正试图升级到Fancybox 3,但有一些问题。我所有的iframe内容都有100px左右的高度。我花了大约1周的时间试图找到答案,需要把这个问题抛给专家。

下面是一个典型的例子

HTML代码

<a href="syllabus/s04.1.htm" class="syl"><span class="def3" onMouseOver="this.className='def3_on'" onMouseOut="this.className='def3'">Syllabus 
      ref: 4.1</span></a>

类 "syl "是在一个外部jquery javascript中引用的。

 $(".syl").fancybox({
        'width'         : '90%',
        'height'        : '90%',
        'autoScale'         : false,
        'overlayOpacity'    :  0.6,
        'overlayColor'      : '#944',
        'transitionIn'      : 'fade',
        'transitionOut'     : 'fade',
        'type'      : 'iframe'
     });

这是在一个document ready call里面的,在fancybox 1上运行得很好,但是现在我链接了fancybox 3,iframe是完整的fancybox大小,但是链接的src文件看起来是完整的,但是只有100px(左右)高,正常宽度。

我到底缺了什么?

jquery fancybox
1个回答
0
投票

你使用的是v3中不存在的选项,如果你想设置自定义尺寸,可以使用CSS或JS(如 iframe : {css : {width : '90%'}}),见docs https:/fancyapps.comfancybox3docs#iframe 的样本。

总之,由于你没有提供一个可以检查你的设置的live pagedemo的链接,所以不可能给出一个确切的答案。


0
投票

好吧,我通过查看一些例子的源代码找到了它。

在HTML中,你必须用一个标识符声明data-fancybox标签。在下面的例子中,data-fancybox='swf'。

<a href="#" data-src="Section00-bonding/swf/sigmapi.swf" class="swf" data-fancybox='swf' data-type="iframe">File Name</a>

然后在外部.js文件中。

$("[data-fancybox='swf']").fancybox({
    iframe : {
        css : {
            width :  '70%',
            height : '90%'
        }
    }
});

这意味着我现在可以根据我显示的文件类型来决定fancybox的格式。

如果我之前的问题没有说清楚,我很抱歉。

© www.soinside.com 2019 - 2024. All rights reserved.