javascript - 如何定期重复键入 JavaScript 函数
问题描述
我设计了一个程序来将字符串输入到div
.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script>
var i, speed, thraot, disp;
i = 0;
speed = 90;
thraot = "Jesus is Lord, Forever..."
disp = document.createElement("DIV");
disp.setAttribute('id', 'mytxt');
document.body.appendChild(disp);
disp.innerHTML = "";
function myTyping() {
if (i < thraot.length) {
disp.innerHTML += thraot.charAt(i);
i++;
}
dd = setTimeout(myTyping, speed);
}
setInterval(function() {
myTyping();
}, speed * thraot.length);
</script>
</body>
</html>
我知道setInterval
哪个在定义的毫秒内重复调用一个函数,但它在这里不起作用。
请我希望你们帮助我让它一遍又一遍地工作。
解决方案
我非常感谢@user0103,他将我的代码从优秀变为优秀。
如何反复刷新一个打字效果功能...
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script>
var i, speed, thraot, disp;
i = 0;
speed = 90;
thraot = "Jesus is Lord, Forever..."
disp = document.createElement("DIV");
disp.setAttribute('id', 'mytxt');
document.body.appendChild(disp);
disp.innerHTML = "";
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
(async function() {
while(true) {
for(let i = 0; i < thraot.length; ++i) {
disp.innerHTML += thraot.charAt(i);
await sleep(speed);
}
await sleep(speed);
disp.innerHTML = "";
}
})();
</script>
</body>
</html>
这很好用...
推荐阅读
- c# - ASP Net Core 属性路由和双正斜杠
- c# - 如何向箭头添加文本?
- java - 正则表达式 - 使用正则表达式检测数据类型
- javascript - Laravel 验证数组迭代
- excel - 在关闭之前检查用户表单是否已使用 save_click 保存
- android - 在根项目 [Jenkins] 中找不到 Android 任务“干净”
- arrays - 将数组传递给 JSON 文件中的每个对象。(过程 JSON SAS)
- git - 是否可以在 git diff 中配置临时文件夹?
- r - 用 R 语言将月份映射到季节
- email - Woocommerce - 如何在特定位置将自定义消息添加到“订单完成”电子邮件?