1

nyroModaljQueryプラグインを自分のWebサイトに実装しました。nyroModalWindowsを構成する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 に答える