這幾天一直在試 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 做的)