用Jquery关闭iframe?

时间:2013-05-16 06:36:11

标签: javascript jquery iframe

我知道有很多这样的问题,但我们已经知道每个案例都不一样了。

所以,这是我的情况:

HTML输出:第1页

<div id="login-embedded" style="height: 401px; display: none;">
<iframe frameborder="0" src="{$mybb->settings['bburl']}/login.php" style="height: 401px;"></iframe>
</div> <!-- /end login-embedded -->
<div id="blackout"></div>

HTML OUTPUT:IFRAME

<div id="embedded-login">
<h1>{$lang->login}</h1>
<form method="post" action="{$mybb->settings['bburl']}/member.php">
<a id="embedded-close" href="javascript:;" onclick="jQuery('#blackout, #login-embedded').hide('slow');" rel="closeLogin"></a>
<div>
......
</div>

JQUERY:

jQuery(document).ready(function(){
jQuery('a[name="login"]').click(function(){
    jQuery("#blackout").fadeIn(1000);
    jQuery("#blackout").fadeTo("slow",0.8);
    jQuery("#login-embedded").show();
    return false
});

jQuery("#embedded-login a#embedded-close").click(function(){
    jQuery("#blackout").hide("slow");jQuery("#login-embedded").hide("slow");
    return false
});

jQuery("#blackout").click(function(){
    jQuery(this).hide("slow");
    jQuery("#login-embedded").hide("slow");
    return false
})
});

我在这里错过了什么吗?我找到了一个使用jquery对话框来关闭iframe的解决方案,但似乎在我的情况下无法工作。

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:9)

iframe中的onclick="jQuery('#blackout, #login-embedded').hide('slow');"不会执行任何操作,因为这些元素位于父页面上。试试这个:

onclick="window.parent.jQuery('#blackout, #login-embedded').hide('slow');"

window.parent.jQuery位将使用父文档的jQuery实例来运行动画。