javascript - 如何更改从数组中提取时间间隔的innerHTML?

标签 javascript arrays loops setinterval

尝试让元素每 x 秒更改一次。当我单击按钮时,它应该更改innerHTML,循环遍历数组。下面的代码更改文本,但显示数组中的最后结果。

<h1 id="header">Agent</h1>
<button id="change-header" onclick="loopHeader()">Click Me</button>

<script>
function loopHeader() {
  var loopHeader = setInterval(changeText, 1000);
}

function changeText() {
  var headers = ["Agent", "Expert", "Homes", "Service", "Results"];
  var text = "";
  var i = 0;
  var x = document.getElementById("header");
  for (i = 0; i < headers.length; i++) {
    text = headers[i];
    x.innerHTML = text;
  }
}
</script>

最佳答案

将计数移到函数之外,然后继续循环并在结束时重置为 0。

function loopHeader() {
  var loopHeader = setInterval(changeText, 1000);
}

var headers = ["Agent", "Expert", "Homes", "Service", "Results"];
var loopItem = 0;

function changeText() {
  loopItem++;
  if (loopItem == headers.length) {
    loopItem = 0;
  }
  document.getElementById("header").innerHTML = headers[loopItem];
}
</script>
<div id="header">
  
 </div>
<button id="change-header" onclick="loopHeader()">Click Me</button>

关于javascript - 如何更改从数组中提取时间间隔的innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42095836/

相关文章:

javascript - 无法在html中添加垂直滚动条?

javascript - JS 中过滤数组去除重复项

ios - UIPickerView 在 vi​​ewWillAppear if 语句中不会改变颜色

c - 如何解析结构体数组作为参数?

css - 在循环列表中使用 div

javascript - 使用 jquery、froogaloog 和 wordpress 控制 Vimeo iframe 时遇到问题

javascript - 使用 jQuery 根据条件选中/取消选中单选按钮的问题

node.js - NodeJS 异步队列太快(减慢异步队列方法)

javascript - 调整大小事件处理程序上的响应式 heatmap.js

c++:字符串中的每一行(不是文件)