点击iframe中的按钮>在父窗口中隐藏div

时间:2014-02-21 16:35:29

标签: javascript jquery html iframe

我遇到一个问题,就是在一个iframe(与引用者相同的域)的按钮上进行点击事件,并使其关闭(在这种情况下)父窗口中的2个div。

主页的示例html:

<div class="wrapper">
    <iframe src="foo"></iframe>
</div>
<div class="bg"></div>

iframe的示例html:

<div class="btn_wrapper">
    <a href="http://www.foobar.com" class="yes">Yes</a>
    <a class="no">No</a>
</div>

JS:

// redirect
$('body').on('click', '.btn_wrapper .yes', function() {
    window.top.location = 'http://www.foobar.com';
});

// hide iframe popup wrapper and bg
$('body').on('click', '.btn_wrapper .no', function() {
    $('.wrapper').fadeOut(250, function() {
        $('.bg').fadeOut(150);
    });
});

$('body').on('click'...函数确实成功运行,因为单击yes按钮会重定向,而在我的完整代码中,单击no以设置cookie,它会执行此操作。

出于某种原因,虽然它不会隐藏包含iframe和背景叠加层的.wrapper。我怎样才能做到这一点?

我并不是必须使用iframe来构建我的内容,但为了保持一致性并与已经存在的函数集成,我真的想继续使用iframe。

1 个答案:

答案 0 :(得分:4)

尝试:

$('body').on('click', '.btn_wrapper .no', function() {
    $('.wrapper', window.parent.document).fadeOut(250, function() {
        $('.bg', window.parent.document).fadeOut(150);
    });
});