11/*!
2- SlickNav Responsive Mobile Menu v1.0.2
2+ SlickNav Responsive Mobile Menu v1.0.3
33 (c) 2015 Josh Cope
44 licensed under MIT
55*/
2222 showChildren : false ,
2323 brand : '' ,
2424 init : function ( ) { } ,
25- open : function ( ) { } ,
26- close : function ( ) { }
25+ beforeOpen : function ( ) { } ,
26+ beforeClose : function ( ) { } ,
27+ afterOpen : function ( ) { } ,
28+ afterClose : function ( ) { }
2729 } ,
2830 mobileMenu = 'slicknav' ,
2931 prefix = 'slicknav' ;
297299
298300 if ( el . hasClass ( prefix + '_hidden' ) ) {
299301 el . removeClass ( prefix + '_hidden' ) ;
302+ //Fire beforeOpen callback
303+ if ( ! init ) {
304+ settings . beforeOpen ( trigger ) ;
305+ }
300306 el . slideDown ( duration , settings . easingOpen , function ( ) {
301307
302308 $ ( trigger ) . removeClass ( prefix + '_animating' ) ;
303309 $ ( parent ) . removeClass ( prefix + '_animating' ) ;
304310
305- //Fire open callback
311+ //Fire afterOpen callback
306312 if ( ! init ) {
307- settings . open ( trigger ) ;
313+ settings . afterOpen ( trigger ) ;
308314 }
309315 } ) ;
310316 el . attr ( 'aria-hidden' , 'false' ) ;
311317 items . attr ( 'tabindex' , '0' ) ;
312318 $this . _setVisAttr ( el , false ) ;
313319 } else {
314320 el . addClass ( prefix + '_hidden' ) ;
321+
322+ //Fire init or beforeClose callback
323+ if ( ! init ) {
324+ settings . beforeClose ( trigger ) ;
325+ } else if ( trigger == 'init' ) {
326+ settings . init ( ) ;
327+ }
328+
315329 el . slideUp ( duration , this . settings . easingClose , function ( ) {
316330 el . attr ( 'aria-hidden' , 'true' ) ;
317331 items . attr ( 'tabindex' , '-1' ) ;
318332 $this . _setVisAttr ( el , true ) ;
319333 el . hide ( ) ; //jQuery 1.7 bug fix
320-
334+
321335 $ ( trigger ) . removeClass ( prefix + '_animating' ) ;
322336 $ ( parent ) . removeClass ( prefix + '_animating' ) ;
323337
324- //Fire init or close callback
338+ //Fire init or afterClose callback
325339 if ( ! init ) {
326- settings . close ( trigger ) ;
340+ settings . afterClose ( trigger ) ;
327341 }
328342 else if ( trigger == 'init' ) {
329343 settings . init ( ) ;
436450 return returns !== undefined ? returns : this ;
437451 }
438452 } ;
439- } ( jQuery , document , window ) ) ;
453+ } ( jQuery , document , window ) ) ;
0 commit comments