Подростки на одном и том же элементе
-
21-12-2019 - |
Вопрос
Если я применю 2 твина к одному и тому же элементу, он не будет изменяться.Почему?Или я делаю что-то не так?
_input.tween('opacity', 1);
_input.tween('height', '100px');
// nothing happens
Но оба работают индивидуально.
Решение
Element.prototype.tween
является абстракцией от Fx.Tween
, который создает новый Fx.Tween
экземпляр этого элемента и привязывается к одному свойству за раз.
http://mootools.net/docs/core/Fx/Fx.Tween#Element-Properties:tween - вы создаете два экземпляра tween, которые, вероятно, мешают друг другу, поскольку iirc, элемент getter/setter может работать только с одним экземпляром, который отправляется в хранилище элементов.
вы хотите использовать morph
вместо - http://mootools.net/docs/core/Fx/Fx.Morph и передать объект, т.е.
_input.morph({
opacity: 1,
height: 100
});
morph предназначался для изменения нескольких свойств одного и того же объекта element по единому таймеру.
вы могли бы вручную сделать new Fx.Tween(_input, ... )
дважды, и это сработает, но анимация может работать не на 100% в одни и те же часы, поэтому она может показаться прерывистой