在HTML5中,我們可以使用SVG來創(chuàng)建各種炫酷的動畫效果,其中包括文字輸入動畫。下面是一個HTML5 SVG文字輸入動畫的代碼示例:
<html> <head> <title>SVG文字輸入動畫</title> </head> <body> <svg width="420" height="120"> <text id="text" font-size="40" x="10" y="70">Hello World!</text> </svg> <script> // 文字輸入動畫函數(shù) function animate() { var text = document.getElementById('text'); var length = text.getComputedTextLength(); var totalLength = length; var speed = 20; // 動畫速度,值越小速度越快 var offset = totalLength; // 動畫起始位置為文本總長度 text.setAttribute('stroke-dasharray', totalLength); text.setAttribute('stroke-dashoffset', offset); // 動畫循環(huán) function draw() { offset -= speed; text.setAttribute('stroke-dashoffset', offset); if (offset > 0) { requestAnimationFrame(draw); } } draw(); } animate(); </script> </body> </html>
上面的代碼中,我們定義了一個SVG文本元素,并設(shè)置了其初始內(nèi)容和樣式,接著在JavaScript中定義了一個名為“animate”的函數(shù),其中包含了文字輸入動畫的具體實現(xiàn)代碼。在函數(shù)中,我們首先獲取文本元素的計算文本長度,并將其作為總長度,同時設(shè)置動畫速度和起始位置。接著,我們使用stroke-dasharray和stroke-dashoffset屬性來實現(xiàn)畫線動畫的效果,并在draw函數(shù)中以requestAnimationFrame來循環(huán)執(zhí)行動畫,直至動畫結(jié)束。