javascript - 根据里面变化的内容动态调整jQuery Fancybox的iframe高度

标签 javascript jquery iframe height fancybox

我正在使用 jQuery Fancybox 在模态窗口中显示表单。我正在使用以下代码:

$("a.iframe").fancybox({
'padding': 0,
'width': 650,
'showCloseButton': false,
'hideOnContentClick': false,
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'onComplete': function () {
  $('#fancybox-frame').load(function () {
    $('#fancybox-content').height($(this).contents().find('body').height() + 20);
  });
}
});

通过附加的 onComplete 函数,我可以根据内部内容的高度调整 iframe 的高度。

但是,我在 iframe 中使用 jQuery 的 .hide() 隐藏了一些元素。每当我想 .show() 这些元素时,iframe 本身不会随现在可见元素的额外高度一起调整大小。

我怎样才能做到这一点?谢谢!

最佳答案

把下面的函数放到页面

$.fn.ResizeFancy = function(){
   $('#fancybox-content').height($('#fancybox-frame').contents().find('body').height() + 20);
};

之后,将此函数触发到您的 showHide 函数。例如;

function yourShowHideFn(){
    //bla bla bla

    $.fn.ResizeFancy();
}

关于javascript - 根据里面变化的内容动态调整jQuery Fancybox的iframe高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7430604/

相关文章:

javascript - 在javascript中对两个值求和

javascript - 从请求头读取数据

facebook - 重定向并保留我的图标

javascript - 似乎没有使用元素中传入的选项执行 Angular 指令

javascript - YouTube:点击按钮即可播放YouTube视频

button - paypal Payments Pro 托管解决方案集成重复支付

javascript - 通过js有条件地在新选项卡中打开url

javascript - 向下滚动时如何使图像移动?

javascript - TypeError : path. 替换不是函数

javascript - 使用 vue.js 和 axios 操作注入(inject)的 HTML