停止间隔有问题[JS]

问题描述 投票:0回答:1

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

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

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

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

http://jsfiddle.net/t7h9tbzf/

javascript variables global local intervals
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.