diff options
| author | Jules Laplace <jules@okfoc.us> | 2016-12-31 06:28:53 +0100 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2016-12-31 06:28:53 +0100 |
| commit | 9f8674686bead1c8b3c88af102bdbebbba89a2e8 (patch) | |
| tree | b6f98ef6d258c9b5381afe0121b8767fd7eb4be5 /studio-susie/public/assets/js/lib/nav | |
| parent | 1d34c0dffa2ed4c9a11942c356123175baf87240 (diff) | |
studio susie website
Diffstat (limited to 'studio-susie/public/assets/js/lib/nav')
| -rw-r--r-- | studio-susie/public/assets/js/lib/nav/DesktopNav.js | 43 | ||||
| -rw-r--r-- | studio-susie/public/assets/js/lib/nav/MobileNav.js | 32 |
2 files changed, 75 insertions, 0 deletions
diff --git a/studio-susie/public/assets/js/lib/nav/DesktopNav.js b/studio-susie/public/assets/js/lib/nav/DesktopNav.js new file mode 100644 index 0000000..5d00c23 --- /dev/null +++ b/studio-susie/public/assets/js/lib/nav/DesktopNav.js @@ -0,0 +1,43 @@ +var NavView = View.extend({ + + el: "#mobile-nav", + + events: { + "click .pages a": "go", + }, + + initialize: function(){ + }, + + home: function(){ + app.router.go("/") + this.$headings.find(".active").removeClass("active") + if (app.mobile_nav && app.mobile_nav.state.open) { + app.mobile_nav.hamburger() + } + }, + + go: function(e){ + e.preventDefault() + var href = $(e.currentTarget).attr("href") + app.router.go(href) + console.log(href) + if (is_mobile) { + app.mobile_nav.hamburger() + } + this.after_go() + }, + + after_go: function(){ + }, + + setActive: function(id){ + var href = '/' + id + var $el = $('[href="' + href + '"]') + this.$('.active').removeClass('active') + if ($el.length) { + $el.addClass('active') + } + }, + +}); diff --git a/studio-susie/public/assets/js/lib/nav/MobileNav.js b/studio-susie/public/assets/js/lib/nav/MobileNav.js new file mode 100644 index 0000000..5c0f253 --- /dev/null +++ b/studio-susie/public/assets/js/lib/nav/MobileNav.js @@ -0,0 +1,32 @@ +var MobileNav = View.extend({ + + el: '#mobile_nav', + + events: { + 'touchstart .logo': 'home', + 'touchstart .hamburger': 'hamburger' + }, + + initialize: function(options){ + options = options || {} + this.state = { + open: false + } + }, + + home: function (){ + app.nav.home() + }, + + hamburger: function (e){ + $('html').toggleClass('navopen') + app.mobile_nav.state.open = ! app.mobile_nav.state.open + if (app.mobile_nav.state.open) { + $("#rapper").on("click", app.mobile_nav.hamburger) + } + else { + $("#rapper").off("click", app.mobile_nav.hamburger) + } + }, + +}) |
