首页前端开发正文

js实现动态打字功能

朱绪2022-06-23524JavaScript

怎么用 JavaScript 来实现「动态打字」功能?

为此,我写了一个简单的 HTML 文件,内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title> JS 实现动态打字效果</title>
  <script>
    window.onload = function() {
      var text = "此处展示了一个动态打字的效果,我们可以通过调整定时器的时间间隔来控制打字速度。";
      var index = 0;
      var timer = setInterval(function () {
        var container = document.getElementById("container");
        container.innerHTML += text[index];
        index++;
        if(index >= text.length) {
          clearInterval(timer);
        }
      }, 100);
    };
  </script>
</head>
<body>
  <div id="container"></div>
</body>
</html>

对了,我们还可以使用递归来实现同样的效果,具体实现如下:

window.onload = function() {
  var text = "此处展示了一个动态打字的效果,我们可以通过调整定时器的时间间隔来控制打字速度。";
  var index = 0;
  var container = document.getElementById("container");
  
  function type() {
    container.innerHTML += text[index];
    index++;
    if(index >= text.length) {
      return;
    }
    setTimeout(type, 100);
  }
  
  type();
};