0

2つのモーダルを切り替えています。最初のモーダルには、この関数を呼び出すボタンが含まれています。

function teamControl(action) {
    $('#teamControlsModal').foundation('reveal', 'close');

    if (action == "create") {
        $('#teamFlavorText').html("Create a Team");
        loadBusinessInfoSelectBox('businessSize');
        loadBusinessInfoSelectBox('businessType');
        loadBusinessInfoSelectBox('businessLocation');
        $('#createTeamModal').foundation('reveal', 'open');
    }
}

これにより、次のモーダルが開きます。

<div id="createTeamModal" class="reveal-modal">
<form id="createTeamForm" style="width: 480px; margin: auto;" 
    novalidate="novalidate"></form>
<a class="close-reveal-modal">×</a>
</div>

しかし、X をクリックして 2 番目のモーダルを閉じると、モーダル自体は消えますが、画面はグレー表示されたままになります。JavaScript エラーはまったくありません。

何か案は?

4

3 に答える 3

1

以前に別のモーダルを表示しました

これは V3 のバグであり、V3 でモーダルを閉じるときに同じアプローチを実装したという理由だけで、V4 では発生していません。これは私がV3のために持っているものです:

function closeModals() { 
    $(".reveal-modal").trigger("reveal:close"); 
}

これにより、別のモーダルを実行する前にモーダルが開かれていないことが保証されます。V4にはこれがあります:

function closeModals() { 
    $('.reveal-modal').foundation('reveal', 'close');
}

私は二度とその問題に遭遇しませんでした。

于 2013-05-02T03:24:08.563 に答える
0

この問題の実際の解決策は次のとおりです。

foundation.reveal.js を編集します。close 関数の最後に、次の行を挿入します。

this.hide(this.settings.bg);
于 2013-06-08T01:52:13.473 に答える