pengubahan ukuran tinggi iframe fancybox v2

Apakah ada cara agar skrip di bawah ini berlaku hanya untuk iframe di fancybox? Saya memiliki halaman dengan galeri dan iframe. Saya ingin iframe memiliki ketinggian berbeda tanpa mempengaruhi ukuran gambar.

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

person Jan    schedule 07.04.2014    source sumber


Jawaban (2)


Anda dapat mengatur kondisi untuk memvalidasi type konten sebelum meneruskan nilai data-* ke fancybox seperti:

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

JSFIDDLE


Anda juga bisa merujuk ke $(this) seperti this.element

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

JSFIDDLE

person JFK    schedule 07.04.2014

kode ini berfungsi untuk saya!

$.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());
        }
    });
person r1si    schedule 30.06.2015