如何重复setInterval
?
所以,我有一个函数(持续时间= 19秒,表示1次发信号)。
前4秒-标签为“文本1”, 接下来的7秒-标签为“文字2” 接下来的8秒-标签为“文字3”。
在19年代之后,它应该重复(我有var
的信号-newCurrentElement
),而且我也有该函数的空洞持续时间(timeNewCurremtElement
)。
timeNewCurremtElement
和newCurrentElement
是已知的,所以您不必为此担心。
我试图进行循环(for
),但这没用。
function TextChanger() {
counter = 0;
clearInterval(timer);
function TextChanger_Interval(){
timer = setInterval(function() {
counter++;
if (counter <= 3) {
$('#in-hold-out').html("Inhale");
} else if (counter <= 10) {
$('#in-hold-out').html("Hold");
} else if (counter <= 18) {
$('#in-hold-out').html("Exhale");
} else {
counter = 0;
clearInterval(timer);
}
}, 1000);
}
TextChanger_Interval();
}
TextChanger();
谢谢!
答案 0 :(得分:1)
您可以带一个时间来更改文本并将文本作为值的对象。
为说明起见,此示例还显示了不变的计数。如果未使用,请删除else部分。
setInterval((i => () => {
const parts = { 0: 'text1', 4: 'text2', 11: 'text3' };
if (parts[i]) console.log(parts[i]);
else console.log(i);
i++;
i %= 19;
})(0), 1000);
答案 1 :(得分:1)
我认为您正在尝试做类似的事情
let counter = 0;
function TextChanger() {
if (counter <= 3) {
console.log(0);
} else if (counter <= 10) {
console.log(1);
} else if (counter <= 18) {
console.log(3);
} else {
counter = 0;
}
counter++
}
setInterval(TextChanger, 1000);