<div id="anime-demo">
<div class="line">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
</div>
<div class="controls">
<button class="play-delay">Delay Sequence</button>
<button class="play-rdelay">Reverse Delay Sequence</button>
<button class="play-duration">Duration Sequence</button>
<button class="play-rduration">Reverse Duration Sequence</button>
</div>
body {
margin: 20px;
font-family: 'Lato';
font-weight: 300;
font-size: 1.2em;
text-align: center;
}
button {
background: orange;
color: white;
margin: 5px;
padding: 10px;
border-radius: 4px;
font-family: 'Lato';
cursor: pointer;
border: none;
outline: none;
}
button:hover {
background: blue;
}
.square {
pointer-events: none;
position: relative;
width: 80px;
height: 80px;
background-color: black;
margin: 16px;
display: inline-block;
}
.controls {
margin-top: 300px;
}
var delaySequence = anime({
targets: '.square',
translateY: 250,
delay: function(target, index) {
return index * 200;
},
autoplay: false
});
var delaySequenceR = anime({
targets: '.square',
translateY: 250,
delay: function(target, index, targetCount) {
return (targetCount - index) * 200;
},
autoplay: false
});
var durationSequence = anime({
targets: '.square',
translateY: 250,
duration: function(target, index) {
return 1000 + index * 800;
},
autoplay: false
});
var durationSequenceR = anime({
targets: '.square',
translateY: 250,
duration: function(target, index, targetCount) {
return 1000 + (targetCount - index) * 800;
},
autoplay: false
});
document.querySelector('.play-delay').onclick = delaySequence.restart;
document.querySelector('.play-rdelay').onclick = delaySequenceR.restart;
document.querySelector('.play-duration').onclick = durationSequence.restart;
document.querySelector('.play-rduration').onclick = durationSequenceR.restart;