打字机 效果
原理:获取需要打字机效果的句子,然后按照index++添加 定时器
逐个显示,代码如下:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <script src="jquery.min.js"></script> </head> <body> <div class="autotype" id="autotype"> <p>我是张超,一名前端工程师</p> <br/> <p>你温柔的表情</p> <p>会让我伤心</p> <br/> <p>六月的雨,只是无情的你~</p> </div> <script> $.fn.autotype = function(){ var $text = $(this); console.log('this',this); var str = $text.html();//返回被选 元素的内容 var index = 0; var x = $text.html(''); //$text.html()和$(this).html('')有区别 var timer = setInterval(function(){ //substr(index, 1) 方法在字符串中抽取从index下标开始的一个的字符 var current = str.substr(index, 1); if(current == '<'){ //indexOf() 方法返回">"在字符串中首次出现的位置。 index = str.indexOf('>', index) + 1; }else{ index ++ ; } //console.log(["0到index下标下的字符",str.substring(0, index)],["符号",index & 1 ? '_': '']); //substring() 方法用于提取字符串中介于两个指定下标之间的字符 $text.html(str.substring(0, index) + (index & 1 ? '_': '')); if(index >= str.length){ clearInterval(timer); } },100); }; $("#autotype").autotype(); </script> </body> </html>