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