停止间隔有问题[JS]

时间:2017-12-22 03:39:53

标签: javascript variables global local intervals

好的,所以这开始让我有点疯狂。

我有一个定时器跟踪器的代码。您输入一个时间,它将计算该项目进行出价的时间以及出价阶段何时结束。您也可以设置闹钟。

我的问题是我正在处理局部变量。一切正常,直到您删除该行。如果删除该行,则间隔将继续,警报仍将关闭。我一直在想办法解决这个问题。我唯一能想到的是检查insRow函数中是否存在该行,但我不知道该怎么做。如果可能的话,我可以将它添加到if语句中:

    if(noticeTime[1] === -6) {
        clearInterval(interval);
    }

http://jsfiddle.net/t7h9tbzf/

1 个答案:

答案 0 :(得分:1)

setInterval returns a numeric ID您可以在插入的行中store as a data- attribute,例如

const interval = window.setInterval(alarm, 1000);
new_row.dataset.intervalID = interval;

然后,在删除行之前,清除间隔:

window.clearInterval(row.dataset.intervalID);