Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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/3/html/71.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 .innerHTML和setTimeout仅打印循环中的最后一部分_Javascript_Html - Fatal编程技术网

Javascript .innerHTML和setTimeout仅打印循环中的最后一部分

Javascript .innerHTML和setTimeout仅打印循环中的最后一部分,javascript,html,Javascript,Html,我是JavaScript新手 我要做的是在同一个位置上逐个打印数组的元素,但要在特定的时间间隔之后 这里它只打印最后一个元素 <!DOCTYPE html> <html> <head> <title>sample</title> </head> <body> <p id="test"></p> <script> const words =

我是JavaScript新手

我要做的是在同一个位置上逐个打印数组的元素,但要在特定的时间间隔之后

这里它只打印最后一个元素

<!DOCTYPE html>
<html>
<head>
  <title>sample</title>
</head>

<body>
  <p id="test"></p>

  <script>
  const words = [ "Word1" , "word2" , "word3" , "word4" ];

  for (let i = 0; i < words.length; i++ ) { 
    console.log(words[i]);
    setTimeout(function(){  document.getElementById('test').innerHTML = words[i]; }, 2000);
  }
  </script>
</body>
</html>

样品

const words=[“Word1”、“word2”、“word3”、“word4”]; 对于(设i=0;i
您可以试试这个,它一个接一个地打印所有内容

const words=[“Word1”、“word2”、“word3”、“word4”];
for(设i=0;i

样品


您使用了错误的功能

超时只是将脚本暂停一段时间,您要查找的是setInterval

<!DOCTYPE html>
<html>
  <head>
    <title>sample</title>
  </head>
  <body>
    <p id="test"></p>
    <script>
      const words = ['Word1', 'word2', 'word3', 'word4'];

      i = 0;
      const counter = setInterval(foo, 1000);

      function foo() {
        document.getElementById('test').innerHTML = words[i];
        i++;
        if (i >= 4) clearInterval(counter);
      }
    </script>
  </body>
</html>

样品

const words=['Word1','word2','word3','word4']; i=0; 常数计数器=设置间隔(foo,1000); 函数foo(){ document.getElementById('test').innerHTML=words[i]; i++; 如果(i>=4)清除间隔(计数器); }
因为它们都在2秒钟内运行(请注意JavaScript是一个单词,而不是两个。很抱歉是个学究)@epa,哦,对了,
。。。。不过外面有一个骗局。这是:@HereticMonkey也许是这个?