这是一只小白的突发奇想,实验屡次终于有所效果。想要实现什么效果呢,javascript
如图所示 : java
要实现这个效果,大致须要两步。函数
第一,如何像打印似的一个一个字显示文字。要实现这个效果有多种方法。在这里我所运用的是javaScript中的substring()方法spa
substring()方法是干吗的简单说一下,它用于提取字符串中介于两个指定下标之间的字符。返回的子串包括开始处的字符,但不包括结束处的字符。code
首先,作几个div,放你要打印的文字(不必定是div,能取到就行,这个随意),而后经过节点取到里面的内容blog
<div style="display:none" id="w">你好呀,欢迎欢迎,点个赞吧! </div> <div style="display:none" id="m">嘿嘿,有错误请多指教! </div>
var word=document.getElementById("w").innerHTML; var ha=document.getElementById("m").innerHTML;
固然,动态修改title内容也有不一样的方法,这里用的是 document.title="" 直接修改的,从下边的代码能够看到,substring()方法从0个字符开始,截取的长度每隔300毫秒加一,就实现了相似打印的效果ip
var type=setInterval(function(){ document.title=word.substring(0,index++); },300);
其实到这里,大体的效果已经作完了,剩下的只是须要 setInterval()方法与回调函数的配合,来实现循环显示字符串
综合JS代码以下get
<script language="javascript"> var index=0; var inde=0; var word=document.getElementById("w").innerHTML; var ha=document.getElementById("m").innerHTML; function hh(){ var type=setInterval(function(){ document.title=word.substring(0,index++); if(index==word.length+1){ clearInterval(type); index=0; var ty=setInterval(function(){ document.title=ha.substring(0,inde++); if(inde==ha.length+1){ clearInterval(ty); inde=0; hh(); } },300); } },300); } setTimeout(hh,2500); </script>
由于是临时想的,最后仍是存在一些小bug.在每次title从新输入时,会卡顿一下,闪烁一下默认的地址,在这虚心求大神指点。回调函数
炎炎夏日,敲代码之余还要遭受秀恩爱的成吨伤害,在这诚心求职一份=。=看不见恩爱就没有伤害