1

我已经在我的网站中实现了 nyroModal jQuery 插件。我已经设置了一个配置 nyroModal Windows 的 javascript 文件:

$("a.nyroModal").nyroModal({

    bgColor: '#000',

    width: 680,

    height: 500

});

现在,打开的 nyroModal 窗口需要一个链接,我可以在其中关闭 nyroModal 窗口,然后重定向到特定页面。

我创建了一个关闭和重定向链接:

<a onclick="parent.$.nyroModalRemove(); window.parent.location.href = 'user/login';
return false;" href="#">log in</a>

但是,窗口在 nyroModal 关闭之前被重定向 - 这看起来不太好。我想实现回调,但我不知道该怎么做。

4

1 回答 1

1

创建一个从您的 onclick 调用的函数,例如:

<a onclick="nyroModalRedirect('user/login');" href="#">log in</a>

然后创建调用 .close() 函数的函数,然后在调用重定向之前运行超时:

function nyroModalRedirect(url) {
    // Initialize timeout for hovering over group to load child districts when moving a school
    var timeout = null;
    var clear = function() {
        if (timeout) {
            clearTimeout(timeout);
            timeout = null;
        }
    }

    // Close modal (this is pulling the 'topmost' modal instance, but if you only have one, like my login form, it works a charm :)
    $.nmTop().close();
    clear();
    // Start timeout after closing modal
    timeout = setTimeout(function() {   
        // Redirect to passed URL after timeout occurs
        window.location.href = url;
    }, 500);
}

享受 :)

于 2012-09-10T01:45:07.877 回答