我这里要实现的效果是子集iframe页面点击背景那个头像旁边的一个取消按钮要跳出这个模态框,这个模态框HTML在当前页面也就是子页面iframe的母级页面,取消按钮在子集iframe里面上面有个enterOut(),所以问题来了,怎么去实现(当前是妈妈,要点击右边儿子是iframe里面那个取消按钮实现弹出模态框效果)

当前页面怎么调用子集iframe页面的方法

 

<div >否</button>
</div>
</div>

当前页面怎么调用子集iframe页面的方法

上图是当前页面一个id为hz_qxalert1_id的模态框和一个class为box的div,

当前页面怎么调用子集iframe页面的方法

然后box里面套了一个content类

当前页面怎么调用子集iframe页面的方法

当前页面怎么调用子集iframe页面的方法

这里是当前页面所套的ifreme我们先找它的ID找到了 才能解决一系列问题哦

子集iframe这样写

function son{

//让父级的模态框遮罩层显示出来
parent.document.getElementById('hz_qxalert1_id').style.display = "block";

//获取遮罩层的宽、高
var modelWidth = self.parent.$('#hz_qxalert1_id').width();
var modelHeight= self.parent.$('#hz_qxalert1_id').height();

//获取取消会诊确认框的宽、高
var alertWidth = self.parent.$('#hz_qxalert1_id_next').width();
var alertHeight= self.parent.$('#hz_qxalert1_id_next').height();

//让取消会诊确认框相对于模态框居中
parent.document.getElementById('hz_qxalert1_id_next').style.left = (modelWidth-alertWidth)/2+"px";
parent.document.getElementById('hz_qxalert1_id_next').style.top = (modelHeight-alertHeight)/2+"px";

//让取消会诊的确认框显示出来
parent.document.getElementById('hz_qxalert1_id_next').style.display = "block";
//这里下面这句就可以找到第一个iframe啦然后赋值哦
var content_inner_iframe_id = parent.$('.content_inner').children('iframe:eq(0)').attr('id');
parent.myIframeId = content_inner_iframe_id;
console.log(content_inner_iframe_id);

}

然后在当前(母级)页面写这样一个方法

function enterOut(){

//隐藏取消会诊消息模态框
document.getElementById('hz_qxalert1_id').style.display = "none";

//隐藏取消会诊消息框
document.getElementById('hz_qxalert1_id_next').style.display = "none";

//执行取消会诊事件(拿到子级写好的id这里当前页面直接拿来然后调用没毛病)
var childrenFun = document.getElementById(myIframeId).contentWindow;
childrenFun.enterOut();
}

相关文章: