JSFiddle - React, Tailwind, and code Playground
by Rene Kriest
JavaScript
// ------------ Sony Global Nav ------------
// Module: Global Nav
// Version: 1.0
// Modified: 2013-05-14 by Christopher Mischler
// Dependencies: jQuery 1.7+, Modernizr
// Optional: jQuery throttle-debounce (only used on window resize)
// -------------------------------------------------------------------------
define(function(require) {
'use strict';
var $ = require('jquery'),
bootstrap = require('bootstrap'),
enquire = require('enquire'),
iQ = require('iQ'),
Settings = require('require/sony-global-settings'),
Utilities = require('require/sony-global-utilities'),
Environment = require('require/sony-global-environment'),
Hammer = require('plugins/index').hammer,
formActions = require('secondary/form-actions');
var module = {
init: function() {
$('#nav-wrapper').globalNav();
}
};
// Start module
var GlobalNav = function($container) {
var self = this;
self.menuBackgroundScrollFactor = 4;
self.enableCustomDebugConsole = false;
self.usernameSpace = 40;
self.minUsernameLength = 6;
self.hasTouch = Settings.hasTouchEvents;
self.$html = Settings.$html;
self.$window = Settings.$window;
self.$container = $container;
self.$activeNavBtns = self.$container.find('.nav-dropdown-toggle');
self.$navbar = $('#navbar');
self.$currentOpenNavBtn = false;
self.$pageWrapOuter = $('#page-wrap-outer');
self.$pageWrapInner = $('#page-wrap-inner');
self.$mobileMenu = $('#nav-wrapper-mobile');
self.$accountUsername = $('#nav-account-btn').find('.username');
self.fullAccountUsername = self.$accountUsername.text();
self.mobileNavVisible = false;
self.mobileNavHasShadow = false;
self.mobileNavThreshold = 767;
self.mobileFooterThreshold = 567;
self.closeTimer = false;
self.wasJustTapped = false;
self.debugCount = 0;
// A simple delay, in milliseconds, before the "out" function is called.
// If the user mouses...