-1

変更したい while ループ条件は、ボタンをクリックすることで実行されますが、2 番目のボタンはループを続行し、カウンターに追加されます。問題は、コードが jQuery のロードを待たないため、無限ループが作成されることです。コードには、コード内の他の場所で使用される変数のカウンターも含まれているため、setInterval() を使用できませんでした。

var condition = true;
while(condition === true) {
    $('#modal').modal();
    $('#modalButton1').on('click', function() {
        variableCounter++;
    });
    $('#modalButton2').on('click', function() {
        condition = false;
    });
}
4

1 に答える 1

0

ループ内clickで継続的にイベント ハンドラーを割り当てています。while代わりに、ドキュメント対応セクションでイベント ハンドラーを定義してから、必要な機能 (つまり、ボタン 2 がクリックされたときにモーダル ダイアログを終了する) をこれらのクリック イベントのハンドラー関数に配置する必要があります。

$(function(){
  $('#modalButton1').on('click', function() { variableCounter++; });
  $('#modalButton2').on('click', function() { $('#modal').hide(); })
});

.hide()あなたが望むものを達成するかどうかはわかりません。ここで、モーダル ダイアログをシャットダウンするための関連する関数を呼び出す必要があります。

于 2013-09-11T05:48:18.980 に答える