隨便打開一個圖片較多的網站(如優化論壇 https://bbs.youhua.com),在地址欄輸入以下代碼並回車,觀看頁面所有圖片開始按正弦/餘弦軌跡「飛舞」:
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i
DI=document.images:獲取頁面所有 <img> 元素集合。DIL=DI.length:圖片總數。function A(){...}:定義動畫幀函數,遍歷所有圖片:position: absolute 脫離文檔流。left = Math.sin(R*x1 + i*x2 + x3) * x4 + x5top = Math.cos(R*y1 + i*y2 + y3) * y4 + y5R 為幀計數器遞增,i 為圖片索引,x1~y5 為控制頻率、相位、振幅、中心點的參數。正弦/餘弦函數產生平滑的橢圓/利薩如軌跡。setInterval('A()',5):每5毫秒(約200FPS)執行一次動畫函數,極高頻率更新位置。void(0):防止瀏覽器導航到返回值。javascript: 協議執行,需在開發者工具 Console 執行。position: static/relative、CSS Grid/Flex 布局、懶加載、動態渲染(React/Vue),強制 absolute 會破壞佈局,且 document.images 可能不包含動態加載圖片。javascript: 前綴)並回車執行。展示了 DOM操作、CSSOM操作、定時器、三角函數動畫、閉包/作用域 等前端核心技術的極簡組合。可作為JavaScript動畫入門範例,進而學習 requestAnimationFrame、CSS Transform/Transition/Animation、Web Animations API、Canvas/WebGL 高性能動畫最佳實踐。