Я экспериментирую с API веб-анимаций, который в настоящее время работает только в браузерах Webkit. Как можно себе представить, что документация немного скудны:API веб-анимации - переменная продолжительность анимации?
Я пытаюсь сделать две вещи:
- Инвертировать анимацию в случайной момент времени до окончания анимации.
- Ошеломляйте длительность эффектов в анимации. Например, для 3-секундной анимации первая часть должна быть 1,25 с, а вторая часть - 1,75 с.
Вот рабочий пример, который использует API веб-анимации. Я обеспокоен тем, что 3 анимации распределены равномерно за 3 секунды. Как я могу поместить их по-другому, не создавая экземпляры нескольких объектов animPlayer?
$('.box').click(function() {
var animationPlayer = this.animate([{
transform: 'translateX(0px)'
}, {
transform: 'translateX(600px)'
}, {
transform: 'translate(600px, 200px)'
}], 3000);
animationPlayer.onfinish = function(e) {
console.log('complete!');
}
// wiggle wiggle wiggle
setTimeout(function() {
animationPlayer.reverse();
setTimeout(function() {
animationPlayer.reverse();
}, 250);
}, 750);
});
.box {
background-color: red;
width: 200px;
height: 200px;
display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='box'></div>
Не могли бы вы пойти в немного более подробно об использовании смещения? Я вижу, что это влияет на продолжительность моих переходов, но я не могу использовать множественные смещения. Когда я пытаюсь применить два смещения к двум преобразованиям, я получаю сообщение об ошибке «Uncaught NotSupportedError: не удалось выполнить« animate »on« Element »: неполные ключевые кадры не поддерживаются». –
Возможно, вы пытаетесь установить смещения по первому или последнему значению? Он должен работать только на промежуточных значениях. – vals
Ohhhh. В этом есть смысл. Хорошо, спасибо. –