GIFmas 2017
by Admiral Potato
HTML
<script src="https://unpkg.com/vue-perfectlooper"></script>
<link rel="stylesheet" href="https://admiralpotato.github.io/vue-perfectlooper/demo.css">
<div id="app" class="container">
<div v-for="item in animationList">
<h2>{{item.id}}</h2>
<vue-perfectlooper v-bind="item"></vue-perfectlooper>
</div>
</div>
JavaScript
Vue.component('vue-perfectlooper', VuePerfectlooper);
let base = 'http://root.nuclearpixel.com/animation_frames/gifmas_2017/';
let animationNameList =
`00-comp_a
01-comp_a
02-comp_a
03-comp_a
04-comp_a
05-comp_a
06-comp_a
07-comp_a
08-comp_a
09-comp_a
09_high-comp_a`.split('\n').reverse();
let animationList = animationNameList.map(function(animationName){
let split = animationName.split(' ');
let path = split[0];
let frames = split.length > 1 ? parseInt(split[1], 10) : 48;
return {
"id": animationName,
"poster": base + path + "/0001.png",
"src": base + path,
"frames": frames,
"suffix": ".png"
}
});
new Vue({
el: '#app',
data: {
animationList: animationList
}
});