我在iframe
中有以下功能:
function modalHgt() {
windowHeight = $(window.parent).height();
complementHeight = $('#complement').outerHeight(true)+20;
popupHeight = $('#main').outerHeight(true);
if ((popupHeight) > (windowHeight-complementHeight)){
popupHeight = windowHeight-complementHeight;
} else {
popupHeight = $('#main').outerHeight(true)+15;
}
$("#sbox-window", top.document).height(popupHeight);
}
我需要在调整大小时调用父中的相同功能。我尝试了以下但是它不起作用:
$(function() {
var modalHeightTimer;
$(window).resize(function() {
clearTimeout(modalHeightTimer);
modalHeightTimer = setTimeout($.modalHgt, 50);
});
});
您能否建议我如何在父母中调用iframe函数?
答案 0 :(得分:1)
modalHeightTimer = setTimeout(window.parent.modalHgt, 50);
让父母调用iframe中的函数:
$('#theIFrame')[0].contentWindow.functionName();
但看起来你的iframe函数是一个匿名就绪函数,所以如果你想让父进程调用它,你必须在iframe中实际声明一个函数,比如
function functionName() { //contents; }
如果你想从父母那里调用它