許多人以為滑鼠光暈效果非 Flash 不可,其實 FrontPage 利用 VBScript 搭配 CSS Filter 即可實現,且產生的檔案體積遠小於 Flash。以下提供完整程式碼與說明。
<body bgcolor="Black">
<div id="myLightObject" style="position: relative; height: 500px; width: 500px; top: 10px; left: 0px; color: White; filter: light">
<p>我們知道,利用Flash動畫制作軟件可以制作出生動的鼠標光照效果。<br>
<br>其實,我們利用FrontPage同樣可以在網頁中實現鼠標的光照效果,而且制作出來的文件存儲容量還要比Flash要小。<br>
<br>其中,用FrontPage制作鼠標光照效果的具體編碼如下:<br>
</p>
</div>
<script language="VBScript">
Option Explicit
sub window_OnLoad()
call myLightObject.filters.light(0).addambient(0, 250, 125, 30)
' 設定光照文字顏色
call myLightObject.filters.light(0).addcone(400, 150, 200, 100, 100, 200, 200, 200, 80, 10)
' 設定光環形狀與範圍
end sub
sub document_onMouseMove()
call myLightObject.filters.light(0).MoveLight(1, window.event.x, window.event.y, 0, 1)
end sub
</script>
</body>
<div id="myLightObject" ... filter: light> 建立一個套用 Light Filter 的區塊,尺寸 500×500px,背景黑、文字白,作為光暈畫布。
addambient(0, 250, 125, 30):設定環境光顏色(RGB 250,125,30 橙黃色)與強度 30。addcone(400, 150, 200, 100, 100, 200, 200, 200, 80, 10):定義錐狀光源——位置 (400,150)、方向向量 (200,100)、顏色 (200,200,200)、聚光角度 80、銳度 10。document_onMouseMove 事件中呼叫 MoveLight(1, x, y, 0, 1),參數依序為:光源索引、滑鼠 X、Y 座標、Z 軸(固定 0)、模式(1 為絕對座標)。
| 項目 | FrontPage + VBScript | Flash |
|---|---|---|
| 檔案大小 | 極小(純文字碼) | 較大(含二進位資源) |
| 相容性 | 僅 IE 支援 VBScript 與 CSS Filter | 需 Flash Player 外掛 |
| 開發門檻 | 低,無需額外工具 | 需 Flash 製作軟體 |
radial-gradient 搭配 mousemove 事件實現。雖然這是 IE 時代的經典技法,但理解其原理有助於掌握「滑鼠座標驅動視覺回饋」的核心邏輯,對現代前端互動開發仍有參考價值。