技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

JavaScript文本打字效果【演示/源碼下載】

作者:admin    時(shí)間:2022-8-4 15:2:14    瀏覽:

本文介紹比較常見的文本打字效果,該效果使用JavaScript來實(shí)現(xiàn)。

完整HTML代碼

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript文本打字效果</title>
<style type="text/css">
body {
  background:#333333;
  color: #27f7f7;
  .container{margin: 2.5em;
  padding: 15px;
  border-radius: 8px;
}

.console {
  height: 100px;
  padding: 1.875em;
  background: #191919;
  box-shadow: 0 0 15px 2px #7Cbdbd inset;
  border: 2px solid #3acaec;
  border-radius: 5px;
}

p {
  font-family: "Orbitron",sans-serif;
  font-size: 100%;
  font-weight: normal;
  letter-spacing: .1rem;
  line-height: 200%;
}

.char {
  color: #fff;
  transition: color ease-out .3s,text-shadow ease-out .3s;
  text-shadow: 0 0 4rem #fff;
}

.char.fade-in {
  color: #0cf;
  transition: color ease-out .3s,text-shadow ease-out .3s;
  text-shadow: 0 0 1rem #0cf;
}
</style>
</head>

<body>
  <div class="container">
    <div class="console">
  <code><p>演示:JavaScript文本打字效果 ———— webkaka.com</p></code> </div>
  </div>
<script type="text/javascript">
  var title = document.querySelector("p");
var CHAR_TIME = 30;

var text = void 0,index = void 0;

function requestCharAnimation(char, value) {
  setTimeout(function () {
    char.textContent = value;
    char.classList.add("fade-in");
  }, CHAR_TIME);
}

function addChar() {
  var char = document.createElement("span");
  char.classList.add("char");
  char.textContent = "▌";
  title.appendChild(char);
  requestCharAnimation(char, text.substr(index++, 1));
  if (index < text.length) {
    requestChar();
  }
}

function requestChar() {var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  setTimeout(addChar, CHAR_TIME + delay);
}

function start() {
  index = 0;
  text = title.textContent.trim();
  title.textContent = "";
  requestChar(1000);
}
start();
</script>
</body>
</html>

demodownload

代碼解釋

var title = document.querySelector("p"); 是選擇標(biāo)簽為p的內(nèi)容,這是需要以打字效果輸出的文本。

var CHAR_TIME = 30; 是光標(biāo)移動(dòng)速度,即是打字速度。數(shù)值越小,速度越快。

function start() {
  index = 0;
  text = title.textContent.trim();
  title.textContent = "";
  requestChar(1000);
}
start();

start();開始執(zhí)行程序,start()函數(shù)里把要打字的文字賦給一個(gè)變量text,然后清空原文字title.textContent = "";,接著調(diào)用另一個(gè)函數(shù)requestChar(),該函數(shù)里使用setTimeout(),按一定頻率調(diào)用打字函數(shù)addChar() ,整個(gè)打字效果的實(shí)現(xiàn)方法就是這樣。

標(biāo)簽: 打字效果  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */