Aprender dojo: Encadeamento animações em uma coleção de objetos
-
05-07-2019 - |
Pergunta
Eu estou fazendo alguns exercícios básicos com dojo para aprender sua sintaxe e métodos.
Eu criei um exemplo simplificado a seguir para o propósito de aprender animações encadeamento em um grupo de itens.
Alguém poderia oferecer algum feedback sobre o código dojo eu criei? Am I utilizando os recursos de biblioteca corretos nessa circunstância? Qual das opções dojo você acha que é a melhor solução para este caso de uso?
Para referência, em jQuery eu fazer isso com:
$(function() {
// jQuery
$('div').fadeOut().fadeIn();
})
Para a solução dojo, eu vim com quatro soluções que contam com a presença de diferentes componentes do 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();
});
Solução
As minhas sugestões são as seguintes:
- Índice de referência e ver o que funciona melhor.
- Use o que você se sinta mais confortável.
- Imo opção 4 é a melhor.
- Vá para o canal #dojo na freenode. Existem grandes caras lá (inclusive eu) que irá ajudá-lo com qualquer pergunta que você tem.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow