css 打字显示效果

81次阅读
没有评论
<!DOCTYPE html>
<html>
<head>
  <title>打字效果</title>
  <style>
    #text {
      font-size: 20px;
      white-space: nowrap;
      /*overflow: hidden;*/
  
    }

  </style>
</head>
<body>
<div style=" width: 100px;">
  <div id="text"></div>
</div>
<script>
  var text = "这是一段很长的文本,需要动态地展示并可能在超出容器宽度时换行。这是一段很长的文本111112223我";
  var textElement = document.getElementById("text");
  var currentIndex = 0;
  var intervalId = setInterval(function() {
    if (textElement.offsetWidth >= textElement.parentNode.offsetWidth) {
      textElement.style.whiteSpace = "normal";
    } else {
      textElement.style.whiteSpace = "nowrap";
    }
    textElement.textContent = text.slice(0, currentIndex);
    currentIndex++;
    if (textElement.offsetWidth >= textElement.parentNode.offsetWidth && currentIndex < text.length) {
      textElement.textContent += "n";
    }
      // 当文本完全显示完之后,清除定时器以防止内存泄漏
    if (currentIndex > text.length) {

      clearInterval(intervalId);
    }
  }, 100); // 控制打字速度,单位是毫秒
</script>
</body>
</html>
正文完
 
评论(没有评论)