fancybox v2 iframe高度调整大小

时间:2014-04-07 01:13:54

标签: javascript jquery iframe fancybox fancybox-2

有没有办法让下面的脚本适用于fancybox中的iframe?我有一个包含gallery和iframe的页面。我希望iframe具有不同的高度,而不会影响图像大小。

$('.fancybox').fancybox({
afterLoad: function () {
    this.width = $(this.element).data("width");
    this.height = $(this.element).data("height");
}
});

2 个答案:

答案 0 :(得分:1)

您可以设置条件以在将type值传递到fancybox之前验证内容的data-*,如下所示:

$(".fancybox").fancybox({
    afterLoad: function () {
        if (this.type == "iframe") {
            this.width = $(this.element).data("width");
            this.height = $(this.element).data("height");
        };
    }
});

<强> JSFIDDLE


您也可以参考$(this),如this.element

$(".fancybox").fancybox({
    afterLoad: function () {
        if (this.type == "iframe") {
            this.width = this.element.data("width");
            this.height = this.element.data("height");
        };
    }
});

<强> JSFIDDLE

答案 1 :(得分:1)

这段代码对我有用!

$.fancybox.open({
        maxWidth: 1263,
        // fitToView: true,
        width: '90%',
        // maxHeight: 292,
        autoSize: false,
        closeClick: false,
        openEffect: 'elastic',
        closeBtn: true,
        closeEffect: 'elastic',
        href: '/team/' + $(this).data("cv") + '_team.html',
        type: 'iframe',
        'afterShow': function() {
          $(".fancybox-wrap").height($(".fancybox-iframe").contents().find("html").height() + 30);
          $(".fancybox-skin").height($(".fancybox-iframe").contents().find("html").height());
          $(".fancybox-inner").height($(".fancybox-iframe").contents().find("html").height());
        }
    });