虽然循环条件在jQuery中发生了变化

时间:2013-09-11 05:41:59

标签: javascript jquery

我要更改的while循环条件是通过单击按钮完成的,而第二个按钮继续循环并添加到计数器。问题是代码没有等待jQuery加载,因此创建了一个无限循环。我无法使用setInterval(),因为代码还包含我的代码中其他地方使用的变量的计数器。

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

1 个答案:

答案 0 :(得分:0)

您正在click循环中连续分配while事件处理程序。相反,您应该在文档就绪部分中定义事件处理程序一次,然后将所需的功能(即在单击按钮2时结束模态对话框)放入这些点击事件的处理函数中。

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

我不知道.hide()是否能达到你想要的效果。你应该在这里调用关闭你的模态对话的相关功能。