Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,10 @@ slicknav.css can be modified to fit website design

### Callbacks
'init': function(){}, // Called after SlickNav creation
'open': function(trigger){}, // Called after menu or sub-menu opened.
'close': function(trigger){} // Called after menu or sub-menu closed.
'beforeOpen': function(trigger){}, // Called before menu or sub-menu opened.
'beforeClose': function(trigger){} // Called before menu or sub-menu closed.
'afterOpen': function(trigger){} // Called after menu or sub-menu opened.
'afterClose': function(trigger){} // Called after menu or sub-menu closed.

### Methods
$('.menu').slicknav('toggle'); // Method to toggle the menu
Expand Down Expand Up @@ -90,4 +92,4 @@ More examples at [SlickNav.com](http://slicknav.com)
* Opera
* IE7+
* Android Browser
* iOS Safari
* iOS Safari
32 changes: 23 additions & 9 deletions jquery.slicknav.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*!
SlickNav Responsive Mobile Menu v1.0.2
SlickNav Responsive Mobile Menu v1.0.3
(c) 2015 Josh Cope
licensed under MIT
*/
Expand All @@ -22,8 +22,10 @@
showChildren: false,
brand: '',
init: function () {},
open: function () {},
close: function () {}
beforeOpen: function () {},
beforeClose: function () {},
afterOpen: function () {},
afterClose: function () {}
},
mobileMenu = 'slicknav',
prefix = 'slicknav';
Expand Down Expand Up @@ -297,33 +299,45 @@

if (el.hasClass(prefix+'_hidden')) {
el.removeClass(prefix+'_hidden');
//Fire beforeOpen callback
if (!init) {
settings.beforeOpen(trigger);
}
el.slideDown(duration, settings.easingOpen, function(){

$(trigger).removeClass(prefix+'_animating');
$(parent).removeClass(prefix+'_animating');

//Fire open callback
//Fire afterOpen callback
if (!init) {
settings.open(trigger);
settings.afterOpen(trigger);
}
});
el.attr('aria-hidden','false');
items.attr('tabindex', '0');
$this._setVisAttr(el, false);
} else {
el.addClass(prefix+'_hidden');

//Fire init or beforeClose callback
if (!init){
settings.beforeClose(trigger);
}else if (trigger == 'init'){
settings.init();
}

el.slideUp(duration, this.settings.easingClose, function() {
el.attr('aria-hidden','true');
items.attr('tabindex', '-1');
$this._setVisAttr(el, true);
el.hide(); //jQuery 1.7 bug fix

$(trigger).removeClass(prefix+'_animating');
$(parent).removeClass(prefix+'_animating');

//Fire init or close callback
//Fire init or afterClose callback
if (!init){
settings.close(trigger);
settings.afterClose(trigger);
}
else if (trigger == 'init'){
settings.init();
Expand Down Expand Up @@ -436,4 +450,4 @@
return returns !== undefined ? returns : this;
}
};
}(jQuery, document, window));
}(jQuery, document, window));