用js和css实现,效果是:有多行文字,一行一行的交替显示,每隔几秒显示一行,循环显示。
代码如下,保存为html即可看到效果:
<!DOCTYPE html>
<html lang="en">
<head> <style> #textContainer { overflow: hidden; } #textContainer span { position: absolute; opacity: 0; transition: opacity 0.5s ease-in-out;} #textContainer span.active { opacity: 1; } </style>
</head>
<body> <span id="textContainer"> <span class="active">First line of text</span> <span>Second line of text</span> <span>Third line of text</span> </span> <script> let currentIndex = 0; const spans = document.querySelectorAll('#textContainer span'); const totalSpans = spans.length; function showNextText() { spans[currentIndex].classList.remove('active'); currentIndex = (currentIndex + 1) % totalSpans; spans[currentIndex].classList.add('active'); } setInterval(showNextText, 5000); </script>
</body>
</html>
上面的代码中,用css设定显示效果,用js代码控制每行文字的显示。
如果不想让他人查看js源码,防止别人知道实现原理,可以用JShaman、JS-Obfuscator、JsJiaMi.online等JS代码加密工具对上面的js代码进行加密。
例如:
加密后的代码会成为以下密文形式:
使用还和原来一样: