현재 위치: > 최신 기사 목록> str_split 함수를 사용하여 문자 수준 애니메이션 출력 효과를 단계별로 달성하는 방법은 무엇입니까?

str_split 함수를 사용하여 문자 수준 애니메이션 출력 효과를 단계별로 달성하는 방법은 무엇입니까?

M66 2025-07-04

먼저 문자열을 문자로 분할하여 각 문자를 별도로 처리 할 수 ​​있도록 문자를 표시해야합니다. str_split 함수는이 기능을 구현하는 강력한 도구입니다.

 <?php
$string = "공식 웹 사이트에 오신 것을 환영합니다!";
$chars = str_split($string);  // 문자열을 문자 배열로 분할하십시오
?>

위의 코드에서는 "공식 웹 사이트에 오신 것을 환영합니다!" str_split 함수를 사용하여 배열로, 배열의 각 요소는 원래 문자열의 문자입니다.

2 단계 : 문자 출력

이제 우리는 foreach 루프를 사용하여 문자를 하나씩 출력 할 수있는 다양한 문자를 가지고 있습니다. 출력시 캐릭터를 하나씩 표시 할 수 있도록 지연 효과를 시뮬레이션해야합니다.

 <?php
foreach ($chars as $char) {
    echo $char;    // 출력 문자
    flush();       // 버퍼를 새로 고칩니다,캐릭터가 즉시 나타납니다
    usleep(50000); // 지연 50 밀리 초
}
?>

위의 코드에서는 Flush () 함수를 사용하여 출력 버퍼를 새로 고침하여 캐릭터가 웹 페이지에 즉시 표시되도록합니다. Usleep (50000)는 각 문자를 50 밀리 초 씩 지연시켜 문자 별 출력 효과를 만듭니다.

3 단계 : JavaScript 애니메이션 효과 결합

PHP는 서버 측 스크립팅 언어입니다. 브라우저의 DOM 요소를 직접 작동하지 않으므로 클라이언트 측에서 직접 부드러운 애니메이션 효과를 생성 할 수 없습니다. 그러나 JavaScript의 SetInterval 또는 Settimeout 방법과 결합하여보다 복잡한 애니메이션 효과를 달성하기 위해 PHP를 통해 HTML 및 JavaScript 코드를 출력 할 수 있습니다.

 <!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>캐릭터 레벨 애니메이션 효과</title>
    <script>
        window.onload = function() {
            let text = "<?php echo addslashes($string); ?>"; // PHP 출력 문자열
            let index = 0;
            let output = document.getElementById('output');

            function showCharacter() {
                if (index < text.length) {
                    output.innerHTML += text.charAt(index);
                    index++;
                }
            }

            setInterval(showCharacter, 50); // 모든50밀리 초显示一个字符
        };
    </script>
</head>
<body>
    <div id="output"></div>
</body>
</html>

이 예에서 PHP는 모든 문자를 포함하는 문자열을 출력하고 JavaScript는 브라우저에서 문자별로 문자를 출력 할 책임이 있습니다. Showcharacter 함수는 SetInterval 에 의해 50 밀리 초마다 호출되며, 이는 점차 문자를 표시하는 효과를 깨닫습니다.

4 단계 : 출력 애니메이션 효과를 사용자 정의합니다

PHP에서 str_split 함수와 JavaScript 부분의 논리를 수정하면 다양한 애니메이션 효과를 구현할 수 있습니다. 예를 들어 지연 시간을 변경하고 문자 표시 방식을 수정합니다. 여기에는 몇 가지 일반적인 사용자 정의 효과가 있습니다.

  • 텍스트 색상 구배 효과 추가 :
    JavaScript에서는 각 캐릭터에 CSS 스타일을 추가하여 색상 그라디언트 또는 기타 애니메이션 효과를 시뮬레이션 할 수 있습니다.

 <!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>캐릭터 레벨 애니메이션 효과</title>
    <script>
        window.onload = function() {
            let text = "<?php echo addslashes($string); ?>";
            let index = 0;
            let output = document.getElementById('output');

            function showCharacter() {
                if (index < text.length) {
                    let span = document.createElement('span');
                    span.textContent = text.charAt(index);
                    span.style.color = 'rgb(' + Math.floor(Math.random() * 256) + ',' +
                                       Math.floor(Math.random() * 256) + ',' +
                                       Math.floor(Math.random() * 256) + ')'; // 임의의 색상
                    output.appendChild(span);
                    index++;
                }
            }

            setInterval(showCharacter, 100); // 모든100밀리 초显示一个字符
        };
    </script>
</head>
<body>
    <div id="output"></div>
</body>
</html>

이 예에서는 각 문자마다 랜덤 색상을 설정하여 색상 구배 효과를 달성합니다.

결론적으로

STR_SPLIT 기능을 PHP 및 JavaScript를 결합하여 문자 수준 애니메이션 효과를 매우 간단하게 구현할 수 있습니다. PHP는 문자열의 처리 및 세분화를 담당하는 반면 JavaScript는 애니메이션 효과를 달성하기 위해 브라우저 측에 문자를 점차적으로 표시 할 책임이 있습니다. 웹 사이트 나 앱을보다 활기차고 재미있게 만들기 위해 필요에 따라 이러한 효과를 추가로 사용자 정의 할 수 있습니다.