#JavaScript

來用網址放跑馬燈吧!

Date
2025.09.19
Category
網頁開發
Read Time
3 min
Word
893
Last Mod
2025.09.19
文章 2025.09.19 來用網址放跑馬燈吧!

來用網址放跑馬燈吧!

最近常常在寫 SPA 網頁(Single Page Application),意思是說整個網頁從頭到尾沒有重新載入過,所有的內容都是用 JavaScript 動態載入的。更新網頁的內容很好理解,只需要改變 innerHTML 或是 textContent 就可以了,但是如果要改變網址列的網址呢?這時候就要用到 History API 了。

JS
history.pushState(state, title, url);

這樣我們就手動把網址列的網址改掉了,同時瀏覽記錄會被新增一筆。同時還有另外一個語法:

JS
history.replaceState(state, title, url);

這個語法則是把目前的瀏覽記錄改掉,不會新增一筆。

欸這時我就想了,如果我瘋狂不停地改網址,那這樣不就可以做出一些動畫效果了嗎?於是我就打開筆電寫寫看:

HTML
<script>	const text = "💀💀🔥🔥👆🤓👇";	const chars = Array.from(text);	let i = 0;	setInterval(() => {		const rotated = chars.slice(i).join("") + chars.slice(0, i).join("");		history.replaceState(null, "", "/" + rotated);		i = (i + 1) % chars.length;	}, 200);</script>

喔!成功了!

跑馬燈
跑馬燈

然後我又試了幾個不同的效果:

波浪跑馬燈
波浪跑馬燈

放在毛哥EM 的基地你可以去玩玩:

https://elvismao.com/code/url-marquee/

網址跑馬燈 - 毛哥EM 的基地
網址跑馬燈 - 毛哥EM 的基地

雖然這個功能除了讓我瀏覽紀錄出現一堆怪東西以外沒什麼實際用途,但至少讓我等第三班國光候補不那麼無聊。

最近太忙兩個月沒發文章了,來水一篇。

About me

毛哥EM

這裡是毛哥EM,一隻全端開發龍還有英文辯士。
熱愛開源、音樂、設計、獸迷文化,專研人機互動與人工智慧。

本部落格皆屬原創文章,採 CC BY-SA 4.0 授權,
轉載請註明來自毛哥EM資訊密技。
這篇文章對你有幫助嗎? 考慮幫我買瓶 Red Bull?

毛哥EM 角色插圖

Comments

留言區