diff options
Diffstat (limited to 'new-reality/public/assets/js/grid/timeline.js')
| -rw-r--r-- | new-reality/public/assets/js/grid/timeline.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/new-reality/public/assets/js/grid/timeline.js b/new-reality/public/assets/js/grid/timeline.js new file mode 100644 index 0000000..651e315 --- /dev/null +++ b/new-reality/public/assets/js/grid/timeline.js @@ -0,0 +1,21 @@ +function Timeline (tweens) { + this.tweens = tweens + this.index = 0 +} +Timeline.prototype.advance = function(){ + var tl = this.tweens[this.index % this.tweens.length] + if (tl.index == -1) { + tl.reset() + tl.index = 0 + requestAnimationFrame(this.advance.bind(this)) + } + else if (tl.index < tl.timeline.length){ + tl.timeline[ tl.index ](this.advance.bind(this)) + tl.index += 1 + } + else { + this.index += 1 + tl.index = -1 + requestAnimationFrame(this.advance.bind(this)) + } +} |
