這幾天一直在試 Dojo(a JavaScript Framework),不過是想加一個 Yellow Fade 的效果而已,卻錯誤連連!氣炸了!查 mailing list 才知道 0.1 版的問題很多,換到 Nightly Build 之後就沒事了... 真是白白浪費了許多時間,而且 0.1 的很多東西也都 deprecate 了。如果有人要試 Dojo,直接跳過 0.1 版吧!
一個簡單的 yellow fade 測試:
<html> <head> <script type='text/javascript'> //設定 dojo 初始化參數,要在 dojo.js 之前 var djConfig = { isDebug: true }; </script> <!-- 加入 dojo 的 source --> <script src="dojo/dojo.js" type='text/javascript'></script> <script type='text/javascript'> //這個類似 java 裡的 import dojo.require("dojo.fx.*"); dojo.require("dojo.event.*"); function doIt() { var node = document.getElementById("divBlock"); //拿到 DOM node 就對它做 yellow fade,第二個參數表示 yellow //第三個是 fade 的時間 (ms),第四個是 delay 的時間 (ms) dojo.fx.html.colorFadeFrom(node, [255,255,204], 500, 100); } function init() { //替 divBlock 這個 DOM node 註冊 onclick 的 event dojo.event.connect(document.getElementById("divBlock"), "onclick", doIt); } //將 init() 這個 function 加入 window onload (網頁下載完後自動執行) dojo.event.connect(window, "onload", init); </script> </head> <body> <div id="divBlock" >Click me</div> </body> </html>
Yellow Fade 是啥?為什麼要做 Yellow Fade? BaseCamp裡有一些討論,有興趣的人可以看看,這個技巧後來衍生為 Fade Anything Techniquie (FAT),可以看這個 FAT 用的很兇 短片(來源為 Raible Design,這個 demo 是用 AJAX 做的)