首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过单击按钮关闭jQuery fancybox

如何通过单击按钮关闭jQuery fancybox
EN

Stack Overflow用户
提问于 2010-12-09 21:33:58
回答 7查看 98.6K关注 0票数 18

我正在使用fancy box创建一个弹出式窗口,并使用iframe在其上加载另一个页面。以下是我的代码

代码语言:javascript
复制
    <script type="text/javascript">
$(document).ready(function() {

    $('.calendar .day').click(function() {
        day_num = $(this).find('.day_num').html();
        day_data = prompt('Enter Stuff', $(this).find('.content').html());
        if (day_data != null) {

            $.ajax({
                url: window.location,
                type: 'POST',
                data: {
                    day: day_num,
                    data: day_data
                },
                success: function(msg) {
                    location.reload();
                }                       
            });
            }
        });
    });
$(document).ready(function(){
    $("a.iframeFancybox1").fancybox({
    'width'           : 800,
    'height'              : 650,
    'overlayOpacity'     :  '0.4',
    'overlayColor'       :  '#000',
    'hideOnContentClick' :   false,
    'autoScale'          :   false,
    'transitionIn'       :   'elastic',
    'transitionOut'  :   'elastic',
    'type'           :   'iframe'
    });
});

</script>

它成功地加载了页面并完成了相关工作。但它不是关闭弹出窗口,而是在弹出窗口本身中加载弹出窗口源代码表单。我想关闭弹出窗体时,工作完成,并返回到主菜单页面,从中生成弹出窗口。如何在单击弹出窗体的按钮时实现这一点。

向您致敬,Rangana

EN

回答 7

Stack Overflow用户

发布于 2012-10-08 16:03:32

您可以使用内联调用

代码语言:javascript
复制
<input type="button" onclick="$.fancybox.close()" value="CloseFB" />

或者,您可以使用名为

代码语言:javascript
复制
<script>
function closeFB() {
    // Before closing you can do other stuff, like page reloading
    $("#destination_div").load("?v=staff #source_div_with_content"); 
    // After all you can close FB
    $.fancybox.close(); 
}
</script>

<input type="button" onclick="closeFB()" value="CloseFB" />

在onClickevent中调用函数

票数 8
EN

Stack Overflow用户

发布于 2016-09-02 05:59:51

这是一个古老的帖子,但我想我应该分享我的两个观点。

我在使用onclick事件关闭fancybox iframe时遇到了类似的问题,在多次尝试之后,这为我解决了这个问题: window.parent.jQuery.fancybox.close()

下面是一个使用输入按钮的示例:

代码语言:javascript
复制
<input type="button" class="formbutton" value="Close" onClick="window.parent.jQuery.fancybox.close();" />

另外,我在一个锚(a)标签上测试了onlick,它工作得很好。

票数 5
EN

Stack Overflow用户

发布于 2012-10-15 22:18:28

$.fn.fancybox.close()不适用于2.x版,事实上,它会引发一个错误。如果您使用的是2.x版,请尝试使用$.fancybox.close(true)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4398740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档