Я использовал jsanim для создания серии анимаций, которые должны быть зациклены по прошествии определенного времени и анимировать два свойства только одного элемента одновременно.
Код выглядит так:
<script type="text/javascript">
var manager = new jsAnimManager(40);
var bhosmokemov = manager.createAnimObject("bho_smoke");
var bhosmokefade = manager.createAnimObject("bho_smoke");
bhosmoke = document.getElementById("bho_smoke");
manager.registerPosition("bho_smoke");
bhosmoke.setPosition(-1003,305);
function smokeLoop() {
bhosmokemov.add({property: Prop.position, to: new Pos(2000,303), duration: 25000,ease: jsAnimEase.parabolicNeg});
bhosmokefade.add({property: Prop.opacity, from: 0, to: 1, duration: 2500});
bhosmokefade.add({property: Prop.wait, duration: 1600});
bhosmokefade.add({property: Prop.opacity, from:1, to: 0, duration: 2500, onComplete:smokeLoop});
}
</script>
То, чего я пытался достичь, это зациклить smokeLoop () , чтобы вся цепочка анимаций свойств, содержащаяся в нем, повторялась вечно. Этот подход не работает. Конечно, я мог бы просто использовать что-то вроде:
function smokeLoop() {
bhosmokemov.add({property: Prop.position, to: new Pos(2000,303), duration: 25000,ease: jsAnimEase.parabolicNeg, loop: 2;});
bhosmokefade.add({property: Prop.opacity, from: 0, to: 1, duration: 2500});
bhosmokefade.add({property: Prop.wait, duration: 1600});
bhosmokefade.add({property: Prop.opacity, from:1, to: 0, duration: 2500, onComplete:smokeLoop});
}
Но я бы только зацикливал одну из анимаций свойств. Как я могу сделать, чтобы зациклить их всех? Большое спасибо за вашу помощь!