我有一个花式框弹出消息,上面有一个标记为“继续”的按钮。当我单击此按钮时,花式框关闭。我想要的是这个。我要单击“继续”按钮,然后要关闭花式框(如当前那样),然后在此之后弹出另一个花式框(登录屏幕)。我有使登录屏幕弹出的代码,但是在关闭上一个花式框时不知道如何执行此操作。我有继续按钮的花式框代码

$.fancybox({
            'content': "<div style=\"border-width: 0px; width: 350px; height: 80px; color:#00285D; font-weight:bold;\">" + message + "<br/><br/>" + "<p class=\"center\"><a href=\"#\" onclick =\"parent.$.fancybox.close();\" class=\"btn-continue\">Continue</a></p>"
        });


我有以下代码用于弹出登录屏幕(基于ID为SignIn的链接:

<script type="text/javascript">
        $(document).ready(function () {

            CMF.pop('#SignIn',1010,459,0,0,'iframe');
        });
    </script>


pop方法如下所示:

// element, width, height, padding, margin, type, refresh(enabled if undefined)
    pop: function (el, w, h, p, m, i, r) {
        $(el).fancybox({
            width: w,
            height: h,
            padding: p,
            margin: m,
            type: i,
            scrolling: 'no',
            onClosed: function () {
                if( r == undefined)
                    parent.location.reload(true);
            }
        });
    } // fancybox


有任何想法吗?

谢谢,

萨钦

最佳答案

演示页面将帮助人们更快地回答您的问题,从而节省您和他们的时间。但是无论如何.. FancyBox显然具有很多“自动”功能,因为它似乎是一种简单的图库解决方案。

而不是调用:

parent.$.fancybox.close();


在我的示例中这甚至都不起作用,因为它存在于当前窗口中,而不存在于window.parent中,因此,如果需要的话,$ .fancybox.close()会很好。您只希望精美框自动过渡到新内容,因此只需触发click事件,如下所示:

$('#SignIn').trigger('click');


确保不调用close或以某种方式否定此点击...?是的,我也认为FancyBox没有一种触发弹出窗口而不假冒您对宿主项目“点击”的方式是愚蠢的……

但直接从马口中出来:http://fancybox.net/blog(在#6下看)

希望对您有帮助-ck

09-11 18:48