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> $.fn.autotype = function() { var $text = $(this); var str = $text.html(); var index = 0; var x = $text.html(''); var timer = setInterval(function() { var current = str.substr(index, 1); if (current == '<') { index = str.indexOf('>', index) + 1; } else { index++; } $text.html(str.substring(0, index) + (index & 1 ? '_' : '')); if (index >= str.length) { clearInterval(timer); } }, 100); }; $(document).ready(function() { $("#autotype").autotype(); }) </script> </head> <body> <div class="autotype" id="autotype"> <p>螞蟻部落歡迎您,本站的url地址是www.softwhy.com</p> <br /> <p>本站專注於前端知識的分享</p> <p>只有努力奮鬥才會有美好的未來</p> <br /> <p>分享的精神和互助的胸懷是進步的最大源動力</p> </div> </body> </html>
上面的程式碼實現了我們的要求,下面就對實現過程進行詳細的介紹。
一.程式碼註釋:
(1).$.fn.autotype = function() {},為jquery例項物件新增一個autotype方法。
(2).var $text = $(this),獲取當前元素物件。
(3).var str = $text.html(),獲取元素物件中的html內容。
(4).var index = 0,宣告一個變數並賦值為0,用法會在後面介紹。
(5).var x = $text.html(''),將元素物件中的內容清空。
(6).var timer = setInterval(function() {},100),每隔100毫秒執行一次回撥函式,這是實現打字機效果的核心。
(7).var current = str.substr(index, 1),擷取一個html字串中的一個字元。
(8).if (current == '<') ,如果字元是<,那麼就說明一個標籤的開始。
(9).index = str.indexOf('>', index) + 1,獲取與其匹配最近的一個>的位置的下一個位置。
(10).else {
index++;
},否則的話索引值加1。
第九步和第十部的目的就是如果遇到標籤,那麼就不會輸出標籤字串,如果是遇到的普通字母就輸出。
(11).$text.html(str.substring(0, index) + (index & 1 ? '_' : '')),將擷取的指定的html字串寫入元素,在每一個字元的尾部新增一個下劃線。
(12). if (index >= str.length) {
clearInterval(timer);
},如果索引大於等於字串長度,那麼就說明已經完全將字串輸出。
二.相關閱讀:
(1).$.fn可以參閱$.fn作用簡單介紹一章節。
(2).html()可以參閱jQuery html()一章節。
(3).setInterval()可以參閱window.setInterval()一章節。
(4).substr()可以參閱javascript substr()一章節。
(5).indexOf()可以參閱javascript indexOf()一章節。
(6).clearInterval()可以參閱clearInterval() 方法一章節。
相關文章
- JavaScript 打字機效果詳解JavaScript
- jQuery打字機效果程式碼jQuery
- JQuery模擬點選clickjQuery
- 模擬select下拉選單詳解
- 爬蟲模擬登入—OAUTH的詳解爬蟲OAuth
- JVM虛擬機器詳解JVM虛擬機
- tickeys 1.0.0 中文版 (鍵盤打字音效模擬工具)
- CSS3打字效果詳解CSSS3
- Android仿打字機打字效果Android
- 模擬實現的星星評分效果詳解
- 詳解 new/bind/apply/call 的模擬實現APP
- CSS模擬美化checkbox核取方塊詳解CSS
- axios模擬GET請求例項及詳解iOS
- javascript模擬美化select下拉選單效果詳解JavaScript
- jquery ajax詳解jQuery
- jquery tmpl 詳解jQuery
- Java 虛擬機器垃圾收集機制詳解Java虛擬機
- 詳解Java 虛擬機器(第②篇)——HotSpot 虛擬機器物件Java虛擬機HotSpot物件
- jQuery模擬實現聊天對話方塊jQuery
- Android單元測試與模擬測試詳解Android
- 「模擬賽」CSP-S 模擬 11(T2 超詳細)
- Java虛擬機器詳解(三)------垃圾回收Java虛擬機
- Java虛擬機器詳解(一)------簡介Java虛擬機
- JVM內幕:Java虛擬機器詳解JVMJava虛擬機
- jQuery 事件用法詳解jQuery事件
- jquery模擬實現的連結title提示效果jQuery
- 利用jQuery模擬實現select下拉框jQuery
- PHP單例模式模擬Java Bean實現方法示例詳解PHP單例模式JavaBean
- Visual Studio中的Android模擬器使用詳解Android
- ChatGPT 打字機效果原理ChatGPT
- ADB模擬手機操作
- 排隊論——隨機服務系統模擬精解隨機
- 模擬ip訪問(附模擬手機訪問)遠端地址
- 詳解Java 虛擬機器(第⑤篇)——垃圾收集Java虛擬機
- JVM(二)Java虛擬機器組成詳解JVMJava虛擬機
- jQuery 放大鏡效果詳解jQuery
- jQuery彈幕效果詳解jQuery
- jQuery字串擷取詳解jQuery字串