Skip to content

Commit e86df1d

Browse files
committed
Merge remote-tracking branch 'origin/master'
Conflicts: jquery.slicknav.js
2 parents 12911a5 + 2f6b224 commit e86df1d

File tree

4 files changed

+50
-20
lines changed

4 files changed

+50
-20
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ slicknav.css can be modified to fit website design
5656

5757
### Callbacks
5858
'init': function(){}, // Called after SlickNav creation
59-
'open': function(trigger){}, // Called after menu or sub-menu opened.
60-
'close': function(trigger){} // Called after menu or sub-menu closed.
59+
'beforeOpen': function(trigger){}, // Called before menu or sub-menu opened.
60+
'beforeClose': function(trigger){} // Called before menu or sub-menu closed.
61+
'afterOpen': function(trigger){} // Called after menu or sub-menu opened.
62+
'afterClose': function(trigger){} // Called after menu or sub-menu closed.
6163

6264
### Methods
6365
$('.menu').slicknav('toggle'); // Method to toggle the menu
@@ -92,4 +94,4 @@ More examples at [SlickNav.com](http://slicknav.com)
9294
* Opera
9395
* IE7+
9496
* Android Browser
95-
* iOS Safari
97+
* iOS Safari

dist/jquery.slicknav.js

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424
removeClasses: false,
2525
brand: '',
2626
init: function () {},
27-
open: function () {},
28-
close: function () {}
27+
beforeOpen: function () {},
28+
beforeClose: function () {},
29+
afterOpen: function () {},
30+
afterClose: function () {}
2931
},
3032
mobileMenu = 'slicknav',
3133
prefix = 'slicknav';
@@ -313,33 +315,45 @@
313315

314316
if (el.hasClass(prefix+'_hidden')) {
315317
el.removeClass(prefix+'_hidden');
318+
//Fire beforeOpen callback
319+
if (!init) {
320+
settings.beforeOpen(trigger);
321+
}
316322
el.slideDown(duration, settings.easingOpen, function(){
317323

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

321-
//Fire open callback
327+
//Fire afterOpen callback
322328
if (!init) {
323-
settings.open(trigger);
329+
settings.afterOpen(trigger);
324330
}
325331
});
326332
el.attr('aria-hidden','false');
327333
items.attr('tabindex', '0');
328334
$this._setVisAttr(el, false);
329335
} else {
330336
el.addClass(prefix+'_hidden');
337+
338+
//Fire init or beforeClose callback
339+
if (!init){
340+
settings.beforeClose(trigger);
341+
}else if (trigger == 'init'){
342+
settings.init();
343+
}
344+
331345
el.slideUp(duration, this.settings.easingClose, function() {
332346
el.attr('aria-hidden','true');
333347
items.attr('tabindex', '-1');
334348
$this._setVisAttr(el, true);
335349
el.hide(); //jQuery 1.7 bug fix
336-
350+
337351
$(trigger).removeClass(prefix+'_animating');
338352
$(parent).removeClass(prefix+'_animating');
339353

340-
//Fire init or close callback
354+
//Fire init or afterClose callback
341355
if (!init){
342-
settings.close(trigger);
356+
settings.afterClose(trigger);
343357
}
344358
else if (trigger == 'init'){
345359
settings.init();
@@ -452,4 +466,4 @@
452466
return returns !== undefined ? returns : this;
453467
}
454468
};
455-
}(jQuery, document, window));
469+
}(jQuery, document, window));

dist/jquery.slicknav.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jquery.slicknav.js

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@
1919
removeClasses: false,
2020
brand: '',
2121
init: function () {},
22-
open: function () {},
23-
close: function () {}
22+
beforeOpen: function () {},
23+
beforeClose: function () {},
24+
afterOpen: function () {},
25+
afterClose: function () {}
2426
},
2527
mobileMenu = 'slicknav',
2628
prefix = 'slicknav';
@@ -308,33 +310,45 @@
308310

309311
if (el.hasClass(prefix+'_hidden')) {
310312
el.removeClass(prefix+'_hidden');
313+
//Fire beforeOpen callback
314+
if (!init) {
315+
settings.beforeOpen(trigger);
316+
}
311317
el.slideDown(duration, settings.easingOpen, function(){
312318

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

316-
//Fire open callback
322+
//Fire afterOpen callback
317323
if (!init) {
318-
settings.open(trigger);
324+
settings.afterOpen(trigger);
319325
}
320326
});
321327
el.attr('aria-hidden','false');
322328
items.attr('tabindex', '0');
323329
$this._setVisAttr(el, false);
324330
} else {
325331
el.addClass(prefix+'_hidden');
332+
333+
//Fire init or beforeClose callback
334+
if (!init){
335+
settings.beforeClose(trigger);
336+
}else if (trigger == 'init'){
337+
settings.init();
338+
}
339+
326340
el.slideUp(duration, this.settings.easingClose, function() {
327341
el.attr('aria-hidden','true');
328342
items.attr('tabindex', '-1');
329343
$this._setVisAttr(el, true);
330344
el.hide(); //jQuery 1.7 bug fix
331-
345+
332346
$(trigger).removeClass(prefix+'_animating');
333347
$(parent).removeClass(prefix+'_animating');
334348

335-
//Fire init or close callback
349+
//Fire init or afterClose callback
336350
if (!init){
337-
settings.close(trigger);
351+
settings.afterClose(trigger);
338352
}
339353
else if (trigger == 'init'){
340354
settings.init();
@@ -447,4 +461,4 @@
447461
return returns !== undefined ? returns : this;
448462
}
449463
};
450-
}(jQuery, document, window));
464+
}(jQuery, document, window));

0 commit comments

Comments
 (0)