這是一隻小白的突發奇想,實驗屢次終於有所效果。想要實現什麼效果呢,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從新輸入時,會卡頓一下,閃爍一下默認的地址,在這虛心求大神指點。回調函數
炎炎夏日,敲代碼之餘還要遭受秀恩愛的成噸傷害,在這誠心求職一份=。=看不見恩愛就沒有傷害