網頁標題(title)動態改變

這是一隻小白的突發奇想,實驗屢次終於有所效果。想要實現什麼效果呢,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從新輸入時,會卡頓一下,閃爍一下默認的地址,在這虛心求大神指點。回調函數

 

炎炎夏日,敲代碼之餘還要遭受秀恩愛的成噸傷害,在這誠心求職一份=。=看不見恩愛就沒有傷害

相關文章
相關標籤/搜索