Interpolações no mesmo elemento
-
21-12-2019 - |
Pergunta
Se eu aplicar 2 interpolações no mesmo elemento, não haverá interpolação.Por que?Ou estou fazendo algo errado?
_input.tween('opacity', 1);
_input.tween('height', '100px');
// nothing happens
Mas ambos funcionam individualmente.
Solução
Element.prototype.tween
é uma abstração de Fx.Tween
, o que cria um novo Fx.Tween
instância nesse elemento e vincula-se a uma única propriedade por vez.
http://mootools.net/docs/core/Fx/Fx.Tween#Element-Properties:tween - você está instanciando duas interpolações que provavelmente interferem uma na outra desde o iirc, o getter/setter de elemento só pode funcionar com uma única instância - que vai para o Element Storage.
você quer usar morph
em vez de - http://mootools.net/docs/core/Fx/Fx.Morph e passe um objeto, ou seja,
_input.morph({
opacity: 1,
height: 100
});
morph foi concebido para modificar múltiplas propriedades no mesmo objeto de elemento em um temporizador unificado.
você poderia fazer manualmente new Fx.Tween(_input, ... )
duas vezes e funcionará, mas pode não estar 100% no mesmo relógio da animação, então pode parecer instável