我有一点时间清理一个非常简单的间隔。有时它有效,有时它不起作用。
当我第一次通过以下方式启动Bootstrap模式时,我设置了间隔:
$('#myModal').on('shown.bs.modal', function (e) {
getParticipants();
getParticipantsInt = setInterval(getParticipants, 15000);
});
然后我尝试清除用户确认(通过另一个模态)他们想要删除用户的时间间隔:
$("#deleteBtn").click(function() {
clearInterval( getParticipantsInt );
$(parent).closest('tr').remove(); // Remove the row
test.dropUser(userId)
.success(function(response){
$('#hangupPartModal').modal('hide');
setTimeout( function()
{
getParticipantsInt = setInterval(getMtgParticipants, 15000);
}, 5000);
});
});
我想要的行为是,只要显示模态,就调用该方法,然后设置一个间隔,每隔15秒调用一次该方法。
当我们删除用户时,取消间隔并基本等待另外20秒重新启动它。
问题是,有时它会在20秒之前被调用。另外,在删除用户之前,我有时可以连续2或3次看到getParticipants()方法。
我在这里缺少什么?设置/清除间隔应该很容易。
答案 0 :(得分:2)
$('#myModal').on('shown.bs.modal', function (e) {
getParticipants();
clearInterval(getParticipantsint);
getParticipantsInt = setInterval(getParticipants, 15000);
});
我假设getParticipantsInt是全局的。如果这是真的,那么问题很可能是您有多个间隔并且只清除其中一个。