// javascript document (function($, window, document) { var pluginname = 'fatnav', defaults = {}; function plugin(options) { this.settings = $.extend({}, defaults, options); this._defaults = defaults; this._name = pluginname; this.init(); } $.extend(plugin.prototype, { init: function() { var self = this; var $nav = this.$nav = $('.fat-nav'); var $hamburger = this.$hamburger = $('
'); this._bodyoverflow = $('body').css('overflow'); // hack to prevent mobile safari scrolling the whole body when nav is open if (navigator.useragent.match(/(ipad|iphone|ipod)/g)) { // $nav.children().css({ // 'height': '110%', // 'transform': 'translatey(-5%)' // }); } $('.top_buttom').append($hamburger); $().add($hamburger).add($nav.find('a')).on('click', function(e) { self.togglenav(); }); }, togglenav: function() { var self = this; this.$nav.fadetoggle(400); self.togglebodyoverflow(); $().add(this.$hamburger).add(this.$nav).toggleclass('active'); }, togglebodyoverflow: function() { var self = this; var $body = $('body'); $body.toggleclass('no-scroll'); var isnavopen = $body.hasclass('no-scroll'); //$body.css('overflow', isnavopen ? 'hidden' : self._bodyoverflow); } }); if (typeof $[pluginname] === 'undefined') { $[pluginname] = function(options) { return new plugin(this, options); }; } }(jquery, window, document));