Slide 38
Slide 38 text
function changeClass (item, action, name) {
item.classList[action]('riot-'+name)
}
function init () {
this.elements = []
const requestAnimation = function () {
for (let i = 0; i {
changeClass(item, 'add', action == 'show' ? 'hide-leave-active' : 'hide-add-active')
}, 0)
let onAnimationEnd = function () {
changeClass(item, 'remove', action == 'show' ? 'hide-leave-active' : 'hide-add-active')
changeClass(item, 'remove', action == 'show' ? 'hide-leave' : 'hide-add')
if (action == 'hide') changeClass(item, 'add', 'hide')
item.removeEventListener('animationend', onAnimationEnd, false)
item.removeEventListener('transitionend', onAnimationEnd, false)
}
item.addEventListener('animationend', onAnimationEnd, false)
item.addEventListener('transitionend', onAnimationEnd, false)
}
}.bind(this)
this.on('mount', function () {
this.elements = this.root.querySelectorAll('[animate]')
})
this.on('update', function () {
for (var i = 0; i