Home > Web Front-end > JS Tutorial > How to use JavaScript to achieve a web page typewriter effect?

How to use JavaScript to achieve a web page typewriter effect?

WBOY
Release: 2023-10-21 08:41:15
Original
1303 people have browsed it

如何使用 JavaScript 实现网页打字机效果?

How to use JavaScript to achieve a web page typewriter effect?

In web design, the Typewriter Effect is a common dynamic effect that can add some fun and interactivity to the web page. This article will introduce how to use JavaScript to achieve a web page typewriter effect and provide specific code examples.

Before we start writing the code for the typewriter effect, we first need to prepare a text container to display the typewriter effect. It can be an HTML element such as <div> or <span>.

HTML code example:

<div id="typewriter"></div>
Copy after login

Next, we start writing JavaScript code.

First, we need to define a JavaScript function that will receive a string as a parameter and display the string verbatim in a text container. The code is as follows:

function typeWriter(text) {
  let i = 0;
  const speed = 100; // 打字速度(单位:毫秒)
  const container = document.getElementById("typewriter"); // 获取文本容器元素

  container.innerHTML = ""; // 清空容器

  // 创建定时器,每隔一定时间将下一个字符添加到容器中
  const timer = setInterval(function() {
    // 判断是否已经到达字符串的末尾
    if (i >= text.length) {
      clearInterval(timer); // 清除定时器
      return;
    }

    // 将字符添加到容器中
    container.innerHTML += text.charAt(i);
    i++;
  }, speed);
}
Copy after login

In the above code, we first define a i variable to record the number of characters that have been displayed. Then, we get the text container element through the getElementById method and assign it to the container variable. Next, we clear the contents of the container to ensure that each display of text starts from a blank state.

Next, we create a timer by using the setInterval method. The timer will execute the function every speed milliseconds. Inside the function, we first determine whether the complete string has been displayed, and if so, clear the timer and return. Otherwise, the next character of the string is added to the container and the value of the i variable is updated.

Now, we have completed the function of the typewriter effect. Next, we can call the function elsewhere in the code, passing in the string we want to display as a parameter.

For example, we can automatically display a welcome message after the page is loaded:

window.onload = function() {
  const message = "欢迎访问我的网页!";
  typeWriter(message);
};
Copy after login

When the page is loaded, the typeWriter function will automatically start displaying the string "Welcome" Visit my page!".

In addition to automatic execution, we can also trigger typewriter effects based on user operations. For example, when the user clicks a button, the execution of the function is triggered by binding the click event.

HTML code example:

<button id="start">开始打字机</button>
Copy after login

JavaScript code example:

const startButton = document.getElementById("start");

startButton.addEventListener("click", function() {
  const message = "这是一个打字机效果的例子。";
  typeWriter(message);
});
Copy after login

When the user clicks the "Start Typewriter" button, the typewriter effect will start displaying the string "This is a typewriter" Examples of effects."

Through the above code examples, we learned how to use JavaScript to implement the typewriter effect on web pages, and provided several ways to trigger the typewriter effect. The code can be further optimized and expanded based on specific project needs and design requirements. Hope this article helps you!

The above is the detailed content of How to use JavaScript to achieve a web page typewriter effect?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template