jQuery打字機效果程式碼
本章節分享一段程式碼例項,它利用jQuery模擬實現了打字機效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript" charset="utf-8"> $(function () { $.fn.typewriter = function () { this.each(function () { var $ele = $(this), str = $ele.html(), sum = 0; $ele.html(""); var timer = setInterval(function () { var current = str.substr(sum, 1); if (current == '<') { sum = str.indexOf('>', sum) + 1; } else { sum++; } var curr = str.substr(0, sum); $ele.html(curr + (sum & 1 ? '_' : '')); if (sum >= str.length) { clearInterval(timer); } }, 50); }); return this; }; $("#code").typewriter(); }) </script> </head> <body> <div id="code"> 螞蟻部落歡迎您,本站的url地址是softwhy.com<br/> 只有努力奮鬥才會有美好的未來。<br/> </div> </body> </html>
上面的程式碼實現了打字效果,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).$(function () {}),當文件內容完全載入完畢再去執行函式中的程式碼。
(2).$.fn.typewriter = function () {},為jquery自定義例項物件方法。
(3).this.each(function () {}),遍歷每一個元素物件。
(4).var $ele = $(this),each中的this是指向dom元素的,所以要將其轉換為jquery物件。
(5).str = $ele.html(),獲取元素的html字串。
(6).sum = 0,宣告一個變數並賦值為0,用作計數器。
(7).$ele.html(""),清空元素中的內容。
(8).var timer = setInterval(function () {},50),每隔50毫秒執行一次函式,這是實現打字效果的核心部分。
(9).var current = str.substr(sum, 1),擷取當前位置的字元。
(10).if (current == '<') {
sum = str.indexOf('>', sum) + 1;
},作用是為了實現<br/>換行功能。
如果沒有這段程式碼,那麼就會輸出<、<b、<br..這樣的效果,然後再換行。
(11).var curr = str.substr(0, sum),擷取內容。
(12).$ele.html(curr + (sum & 1 ? '_' : ''))
將內容寫入元素中
sum & 1 ? '_' : '',這個的作用在打字輸出的時候每隔一個數字,後面會出現一個下劃線。
(13).if (sum >= str.length) {
clearInterval(timer);
},,如果sum的值大於等於字串的數目,那麼就停止打字。
二.相關閱讀:
(1).$.fn參閱jQuery.fn的作用是什麼一章節。
(2).html方法參閱jQuery html()一章節。
(3).setInterval方法參閱JavaScript setInterval()一章節。
(4).substr方法參閱JavaScript substr()一章節。
(5).indexOf方法參閱JavaScript string indexOf()一章節。
(6).clearInterval方法參閱JavaScript clearInterval()一章節。
相關文章
- ChatGPT 打字機效果原理ChatGPT
- JavaScript 打字機效果詳解JavaScript
- jQuery模擬打字機詳解jQuery
- CSS + JS 實現打字機效果CSSJS
- Jquery實現的高亮效果程式碼分享jQuery
- css3動畫完成打字機效果CSSS3動畫
- 仿金山打字效果
- jQuery點選滑出層效果程式碼例項jQuery
- jQuery tab選項卡效果程式碼例項jQuery
- js實現打字效果JS
- 手寫一個ChatGPT打字效果ChatGPT
- jQuery記住使用者名稱和密碼效果程式碼例項jQuery密碼
- jQuery 效果方法jQuery
- jQuery基礎 效果jQuery
- jQuery 放大鏡效果jQuery
- jQuery 效果 – 動畫jQuery動畫
- jQuery 效果 – 滑動jQuery
- 程式碼雨效果
- jQuery 效果 – 停止動畫jQuery動畫
- jQuery 效果 – 淡入淡出jQuery
- jQuery簡單tab效果jQuery
- jQuery 學習筆記:jQuery 程式碼結構jQuery筆記
- SpringBoot+WebFlux透過流式響應實現類似ChatGPT的打字機效果Spring BootWebUXChatGPT
- 從打字機效果的 N 種實現看JS定時器機制和前端動畫JS定時器前端動畫
- 【動畫進階】類 ChatGpt 多行文字打字效果動畫ChatGPT
- jQuery彈幕效果詳解jQuery
- jQuery實現輪播效果jQuery
- jQuery 04 效果 淡入淡出jQuery
- jQuery 放大鏡效果詳解jQuery
- jQuery操作checkbox選擇程式碼jQuery
- CSS div居中效果程式碼CSS
- svg生成矩形效果程式碼SVG
- 【180720】打字遊戲原始碼遊戲原始碼
- 純CSS3屬性animation實現的打字效果CSSS3
- jQuery文字從頂部掉落效果jQuery
- jquery中淡入淡出效果案例jQuery
- jquery焦點圖效果視訊jQuery
- jQuery 效果 – 隱藏和顯示jQuery