有没有办法让下面的脚本适用于fancybox中的iframe?我有一个包含gallery和iframe的页面。我希望iframe具有不同的高度,而不会影响图像大小。
$('.fancybox').fancybox({
afterLoad: function () {
this.width = $(this.element).data("width");
this.height = $(this.element).data("height");
}
});
答案 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());
}
});