1
我正在用dojo進行一些基本練習來學習它的語法和方法。學習道場:在對象集合上鍊接動畫
爲了學習一組項目的動畫鏈接,我創建了一個簡化示例。
任何人都可以提供一些關於我創建的dojo代碼的反饋嗎?在這種情況下,我是否利用了正確的庫功能?你認爲哪種dojo選項是這種用例的最佳解決方案?
供參考,在jQuery的我會做到這一點:
$(function() {
// jQuery
$('div').fadeOut().fadeIn();
})
對於道場的解決方案,我想出了四種解決方案依賴於不同的Dojo組件的存在:
// dojo
dojo.require("dojo.fx");
dojo.require("dojo.NodeList-fx");
dojo.addOnLoad(function() {
// Option 1: Using dojo.js only
dojo.forEach(dojo.query('div'), function(div) {
dojo.fadeOut({
node: div,
'onEnd': function() {
dojo.fadeIn({
node: div
}).play();
}
}).play()
});
// Option 2: Using dojo.js and dojo.fx
dojo.forEach(dojo.query('div'), function(div) {
dojo.fx.chain([dojo.fadeOut({node: div}), dojo.fadeIn({node: div})]).play();
});
// Option 3: Using dojo.js, dojo.fx and dojo.NodeList-fx
var divs = dojo.query("div");
divs.fadeOut({
'onEnd': function() {
divs.fadeIn().play();
}
}).play()
// Option 4: Using base, dojo.fx and dojo.NodeList-fx
var divs = dojo.query('div');
dojo.fx.chain([divs.fadeOut(), divs.fadeIn()]).play();
});
是的,選項4也是我的首選解決方案 - 允許通過鏈陣列將動畫表示爲一系列線性步驟。那麼,就其他核心語言特性而言,我不會'錯過'關於dojo的任何事情,這將會產生更合理/實用的解決方案? – 2009-11-26 00:46:49
不在我看來。但是你應該問freenode,因爲我不是dojo的動畫API方面的專家。 – 2009-11-26 17:05:07