summaryrefslogtreecommitdiff
path: root/new-reality/public/assets/js/lib/nav/DesktopNav.js
diff options
context:
space:
mode:
Diffstat (limited to 'new-reality/public/assets/js/lib/nav/DesktopNav.js')
-rw-r--r--new-reality/public/assets/js/lib/nav/DesktopNav.js83
1 files changed, 83 insertions, 0 deletions
diff --git a/new-reality/public/assets/js/lib/nav/DesktopNav.js b/new-reality/public/assets/js/lib/nav/DesktopNav.js
new file mode 100644
index 0000000..24f0f25
--- /dev/null
+++ b/new-reality/public/assets/js/lib/nav/DesktopNav.js
@@ -0,0 +1,83 @@
+var NavView = View.extend({
+
+ el: "#nav",
+
+ events: {
+ "click .logo": "home",
+ "click li": "go",
+ "click #corner": "corner",
+ "mouseenter ul": "show_menu",
+ "mouseleave ul": "hide_menu",
+ },
+
+ 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()
+ }
+ },
+
+ resetWidths: function(){
+ this.$categories.each(function(){
+ $(this).width( $(this).data("width") )
+ })
+ },
+
+ go: function(e){
+ e.preventDefault()
+
+ this.resetWidths()
+
+ var $t = $(e.currentTarget)
+ this.$("li").removeClass("active")
+ $t.addClass("active")
+
+ var href = $t.attr("href")
+ app.router.go(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')
+ }
+ },
+
+ show_menu: function(e){
+ var $el = $(e.currentTarget)
+ $el.addClass("hover")
+
+ // var $parent = $el.parent()
+ var width = $el.data( "width" )
+ $el.width(width)
+ console.log(width)
+ },
+
+ hide_menu: function(e){
+ var $el = $(e.currentTarget)
+ $el.removeClass("hover")
+
+ // var $parent = $el.parent()
+ var hover_width = $el.data( "hover-width" )
+ $el.width(hover_width)
+ },
+
+ corner: function(){
+ app.view && app.view.corner()
+ },
+
+});