javascript - 如何打造打字机效果?
问题描述
我正在尝试为学校项目创建打字机功能,但我不确定它为什么不起作用
HTML 代码:
<h1 id="typewriter"></h1>
Javascript代码:
typewriter();
function typewriter() {
var textArray = text1.split("");
for (var i = 0; i < textArray.length; i++) {
document.getElementById('typewriter').innerHTML = textArray[i];
setTimeout(typewriter, 80);
}
}
在此先感谢您的帮助!
解决方案
我想你正在寻找这样的东西:
您为字符串的每个字符设置超时,但给每个超时额外的延迟
所以第一个字符将在 0 毫秒延迟后写入
第二个在 100 毫秒延迟后写入
第三个在 200 毫秒延迟后
等等
例子:
function typewriter(element, text, delay = 100) {
for (let i = 0; i < text.length; i++) {
setTimeout(() => {
element.innerHTML += text[i];
}, delay * i);
}
}
const el = document.getElementById("typewriter");
typewriter(el, "Lorem ipsum dolor sit amet");
<h1 id="typewriter"></h1>
推荐阅读
- python - 使用另一个 numpy 数组元素索引一个 numpy 数组会给出“TypeError:只有 size-1 数组可以转换为 Python 标量”
- sql-server - Visual Studio 中的 SQL Server 单元测试:由于“对象引用未设置为对象的实例”,无法设置测试条件属性。错误
- makefile - makefile 函数的奇怪行为
- python - 在 Python 中的一段时间(或任何)循环中获取/传输数据
- jdbc - Kafka JDBC sink 连接器导致高 (99%) CPU 使用率
- c# - 如何在 C# 中实现一个有效的算法来找到最大三个?
- multithreading - 如何在不指定超时值的情况下处理失败的守护线程并继续主线程?
- javascript - 在同一作业中使用 Node.JS 和 .NET 的 GitHub 操作
- javascript - 如何从反应选择组件中获取多个值
- reactjs - React.createElement: type is invalid -- 期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但是得到:null