diff options
Diffstat (limited to 'studio-susie/public/assets/js/app.js')
| -rw-r--r-- | studio-susie/public/assets/js/app.js | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/studio-susie/public/assets/js/app.js b/studio-susie/public/assets/js/app.js new file mode 100644 index 0000000..0f64ad2 --- /dev/null +++ b/studio-susie/public/assets/js/app.js @@ -0,0 +1,108 @@ +var app = (function() { + + var app = {} + var last_t = 0, initial_t = 0 + + app.init = function() { + app.loader = new Loader () + app.okcms = new OKCMS () + app.okcms.getAll().done(function(data) { + app.bind() + app.build(data) + app.resize() + app.ready() + }).fail(function(err) { + console.error('error loading cms', err) + }) + } + + app.bind = function() { + if (is_mobile) { + document.addEventListener('touchmove', function(e) { + e.preventDefault() + }) + FastClick.attach(document.body) + } + $(window).resize(app.resize) + } + + app.build = function(data) { + window.scrollTo(0,0) + app.views = {} + app.nav = new NavView () + app.views.home = new HomeView({ + data: data.home + }) + app.views.page = new PageView({ + data: data.page + }) + app.views.painting = new PaintingView({ + data: data.painting + }) + app.views.list = new ListView({ + }) + + app.preload() + } + + app.preload = function(){ + var $sections = $("#fullpage .section") + var $first = $sections.first() + app.loader.preloadImage( $first.data("image"), function(){ + $sections.each(function(index){ + var img = new Image () + var $div = $("<div>") + $div.data("index", index) + $("#list").append($div) + var url = $(this).data("image") + var loaded = false + var $el = $(this) + img.onload = function(){ + $el.css("background-image", "url(" + url + ")") + $div.css("background-image", "url(" + url + ")") + } + img.src = url + }) + $('#fullpage').fullpage({ + css3: true, + scrollingSpeed: 1000 + }) + }) + } + + app.ready = function() { + if (last_t) return + setTimeout(function () { + $("html").removeClass("loading") + }, 50) + app.view = null + app.router = new SiteRouter() + app.router.launch() + // app.animate(0) + } + + app.animate = function (t) { + requestAnimationFrame(app.animate) + if (! initial_t) { + initial_t = t + return + } + t -= initial_t + var dt = t - last_t + last_t = t + } + + app.resize = function () { + } + + app.iscroll_options = { + mouseWheel: true, + scrollbars: true, + click: is_android, + } + + return app + +})() + +document.addEventListener('DOMContentLoaded', app.init) |
