每天進(jìn)步一點(diǎn)點(diǎn),首先點(diǎn)開下面的gif圖,看一看效果
怎么樣才能實現(xiàn)網(wǎng)頁標(biāo)題滾動效果呢?時間就是金錢,廢話不多說,直接上代碼:
var keyWords = "我想變成一棵樹,開心時在秋天開花,傷心時在春天落葉!";
function titleChange() {
var keyList = keyWords.split("");
var firstChar = keyList.shift();
keyList.push(firstChar);
keyWords = keyList.join("");
document.title = keyWords;
}
setInterval(titleChange, 500);
數(shù)一數(shù)確實不到十行哈哈哈哈,給自己點(diǎn)贊。
然后解釋一下每一行的意思吧:
首先創(chuàng)建了一個變量 keyWords,用來存放網(wǎng)頁標(biāo)題滾動的文字(字符串)
接著創(chuàng)建一個命名函數(shù) titleChange 執(zhí)行以下操作;
1. 用split() 方法(不改變原始字符串)將滾動的文字拆分為單個字符的數(shù)組keyList;
打印 keyList 結(jié)果
2. 用shift()方法移出位于數(shù)組 keyList 頭部的元素,并用變量 firstChar 存儲;
3. 用push()方法將步驟2中移除的字符,重新放到數(shù)組 keyList 的尾部;
4. 用join() 方法將數(shù)組重新拼接為字符串,替換原本 keyWords 中存儲的文本(字符串);
5. 用 document.title 將步驟4中重新拼接的字符串,重新賦值到網(wǎng)頁標(biāo)題中;
這樣就將 keyWords 中原本的第一個字符移動至最后一位
網(wǎng)頁標(biāo)題中原本位于第一個字符之后的文本會批量前移
實現(xiàn)文本向前滾動的效果,但是由于函數(shù)每次調(diào)用只會執(zhí)行一次
所以最后我們還需要創(chuàng)建一個計時器,每個500毫秒重新調(diào)用一次 titleChange 函數(shù)
最終實現(xiàn)網(wǎng)頁標(biāo)題循環(huán)滾動的效果了
我們還可以看一看控制臺打印的keyWords
啊呀!我感覺做了一個洗剪吹門口的霓虹燈呀 。。。
更多關(guān)于web前端培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點(diǎn)擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。