javascript - 如何每隔几秒钟更改一次innerHTML
问题描述
我正在学习 Javascript,我想在我的网页上循环遍历文本。我用 CSS 完成了这项工作,但 Safari 浏览器不支持它,所以我想我会采取不同的方法并使用 Javascript。我希望文本每 2 秒循环一次我拥有的 3 个字符串,并无限期地循环。每当我尝试使用 while 循环时,页面就永远不会加载。
const title = document.getElementById('job-title');
let loop = true;
while (loop = true) {
title.innerHTML = "Web Developer";
setTimeout(function(){ title.innerHTML = "Web Designer" }, 2000);
setTimeout(function(){ title.innerHTML = "Graphic Designer" }, 4000);
;
}
} ```
解决方案
你需要的只是一个计时器——也就是说setInterval
let titles = ['Web Developer', 'Web Designer', 'Graphic Designer'];
let currentIndex = 0;
let aSpan = document.getElementById('job-title');
setInterval(() => {
aSpan.innerHTML= titles[currentIndex];
currentIndex++;
if (currentIndex === 3)
currentIndex = 0;
}, 1000)
<span id="job-title"></span>
推荐阅读
- android - 任何人都可以查看应用程序的 SHA-1 密钥
- sql - SQL - 从特定行创建 ID 的组,直到组结束
- java - 大家是如何处理字体大小和显示大小的可访问性设置的?
- r - 将数据填充到 df 时出现问题
- typescript - Vue 3 TypeScript - 模块“XX”在本地声明“YY”,但未导出
- python - Python Flask - 想要显示“Hello [Firstname]
- android - 如何循环遍历要写入本地存储的文件列表?
- python - Pycharm 中 Colab 到 Pycharm 库的导入问题
- javascript - NodeJS Express API 调用结构异步事件
- flutter - 如何限制我的 ListView.builder 中的项目数?