Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何重复“设置间隔”?_Javascript_Jquery - Fatal编程技术网

Javascript 如何重复“设置间隔”?

Javascript 如何重复“设置间隔”?,javascript,jquery,Javascript,Jquery,如何重复setInterval? 所以,我有一个函数(持续时间=19秒,持续时间为1秒) 前4秒-标签为“文本1”, 接下来7秒-标签为“文本2” 接下来的8秒-标签是“文本3” 在19秒后,它应该重复(我有var的记录-newCurrentElement),我还有函数的空穴持续时间(timenewcurrentElement) TimeNewCurrentElement和newCurrentElement是已知的,因此您不必担心它 我曾尝试为创建一个循环(),但没有成功。 function T

如何重复
setInterval

所以,我有一个函数(持续时间=19秒,持续时间为1秒)

前4秒-标签为“文本1”, 接下来7秒-标签为“文本2” 接下来的8秒-标签是“文本3”

在19秒后,它应该重复(我有
var
的记录-
newCurrentElement
),我还有函数的空穴持续时间(
timenewcurrentElement

TimeNewCurrentElement
newCurrentElement
是已知的,因此您不必担心它

我曾尝试为创建一个循环(
),但没有成功。

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;
清除间隔(计时器);
功能文本转换器\u间隔(){
计时器=设置间隔(函数(){
计数器++;

如果(counter您可以选择一个对象,其中包含更改文本的时间和文本作为值

为了举例说明,此示例还显示了未更改的计数。如果未使用,请删除else部分

setInterval((i=>()=>{
常量部分={0:'text1',4:'text2',11:'text3'};
if(第[i]部分)console.log(第[i]部分);
else控制台日志(i);
i++;
i%=19;

})(0),1000);
我想你是想做这样的事情

  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);
let计数器=0;
函数文本转换器(){

如果(计数器你可以在这里看一下:我知道如何循环
setTimeout
,但我必须使用
setInterval
,所以
I
是函数的持续时间,不是吗?
I
是19秒间隔中秒的计数器。它可以工作,谢谢!但几次输入后,时间变少了,或者类似的东西。我想它发生在
I%-19
的bcz中,我如何更改此行?它需要19次调用的间隔,超时间隔为1000毫秒。到底是什么问题?因此,我会尝试解释。每一次写入文本都会更快。1次写入及时。对于第8次写入,它会在2秒内更改为“文本2”(与第一次相比,4秒钟内不会出现这种情况)