먼저 문자열을 문자로 분할하여 각 문자를 별도로 처리 할 수 있도록 문자를 표시해야합니다. str_split 함수는이 기능을 구현하는 강력한 도구입니다.
<?php
$string = "공식 웹 사이트에 오신 것을 환영합니다!";
$chars = str_split($string); // 문자열을 문자 배열로 분할하십시오
?>
위의 코드에서는 "공식 웹 사이트에 오신 것을 환영합니다!" str_split 함수를 사용하여 배열로, 배열의 각 요소는 원래 문자열의 문자입니다.
이제 우리는 foreach 루프를 사용하여 문자를 하나씩 출력 할 수있는 다양한 문자를 가지고 있습니다. 출력시 캐릭터를 하나씩 표시 할 수 있도록 지연 효과를 시뮬레이션해야합니다.
<?php
foreach ($chars as $char) {
echo $char; // 출력 문자
flush(); // 버퍼를 새로 고칩니다,캐릭터가 즉시 나타납니다
usleep(50000); // 지연 50 밀리 초
}
?>
위의 코드에서는 Flush () 함수를 사용하여 출력 버퍼를 새로 고침하여 캐릭터가 웹 페이지에 즉시 표시되도록합니다. Usleep (50000)는 각 문자를 50 밀리 초 씩 지연시켜 문자 별 출력 효과를 만듭니다.
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 밀리 초마다 호출되며, 이는 점차 문자를 표시하는 효과를 깨닫습니다.
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는 애니메이션 효과를 달성하기 위해 브라우저 측에 문자를 점차적으로 표시 할 책임이 있습니다. 웹 사이트 나 앱을보다 활기차고 재미있게 만들기 위해 필요에 따라 이러한 효과를 추가로 사용자 정의 할 수 있습니다.