ch.Menu
Description
Menu lets you organize the links by categories.
How-to
// Create a new Menu.
var menu = new ch.Menu($el, [options]);
// Create a new Menu with jQuery or Zepto.
var menu = $(selector).menu();
// Create a new Menu with custom options.
var menu = $(selector).menu({
'fx': 'none'
});
Parameters
-
$el
- jQuerySelector | ZeptoSelector : A jQuery or Zepto Selector to create an instance of ch.Menu. -
options
- Object : Options to customize an instance.-
fx
- String : Enable or disable UI effects. You should use: "slideDown", "fadeIn" or "none". Default: "slideDown".
-
Extends
Properties
.$container
jQuerySelector | ZeptoSelector
The menu container.
.folds
Array
A collection of folds.
.uid
Number
A unique id to identify the instance of a widget.
.Widget#name
String
The name of a widget.
// You can reach the instance associated.
var widget = $(selector).data(name);
Methods
-
fold
- Number : A given number of fold to disable. -
fold
- Number : A given number of fold to enable. -
event
- String : The name of the event you want to emit. -
var_args
- Object : Data to pass to the listeners. -
event
- String : The event name. -
event
- String : Event name. -
listener
- Function : Listener function. -
event
- String : The event name to subscribe. -
listener
- Function : Listener function. -
once
- Boolean : Indicate if a listener function will be called only one time. -
event
- String : Event name. -
listener
- Function : Listener function. -
child
- Number : A given number of fold. -
child
- Number : A given number of fold.
.disable(fold) → {menu}
Disables an instance of Menu or a specific fold.
// Disabling an instance of Menu.
menu.disable();
// Disabling the second fold.
menu.disable(2);
.enable(fold) → {menu}
Enables an instance of Menu or a specific fold.
// Enabling an instance of Menu.
menu.enable();
// Enabling the second fold of a menu.
menu.enable(2);
.emit(event, var_args)
Execute each item in the listener collection in order with the specified data.
// Will emit the 'ready' event with 'param1' and 'param2' as arguments.
widget.emit('ready', 'param1', 'param2');
.getListeners(event) → {Array}
Returns all listeners from the collection for a specified event.
// Returns listeners from 'ready' event.
widget.getListeners('ready');
.off(event, listener) → {Object}
Removes a listener from the collection for a specified event.
// Will remove event listener to 'ready' event.
widget.off('ready', listener);
.on(event, listener, once)
Adds a listener to the collection for a specified event.
// Will add an event listener to 'ready' event.
widget.on('ready', listener);
.once(event, listener) → {Object}
Adds a listener to the collection for a specified event to will execute only once.
// Will add an event handler to 'contentLoad' event once.
widget.once('contentLoad', listener);
.constructor()
Returns a reference to the constructor function.
.destroy()
Destroys a Menu instance.
// Destroying an instance of Menu.
menu.destroy();
.hide(child) → {menu}
Hides a specific fold.
// Hides the second fold.
menu.hide(2);
.show(child) → {menu}
Shows a specific fold.
// Shows the second fold.
menu.show(2);
.constructor()
Returns a reference to the constructor function.
.destroy()
Destroys an instance of Widget and remove its data from asociated element.
// Destroying an instance of Widget.
widget.destroy();
.disable() → {instance}
Disables an instance of Widget.
// Disabling an instance of Widget.
widget.disable();
.enable() → {instance}
Enables an instance of Widget.
// Enabling an instance of Widget.
widget.enable();
.require() → {instance}
Adds functionality or abilities from other classes.
// You can require some abilitiest to use in your widget.
// For example you should require the collpasible abitliy.
var widget = new Widget(element, options);
widget.require('Collapsible');
Events
'destroy'
Emits when a widget is destroyed.
// Subscribe to "destroy" event.
widget.on('destroy', function () {
// Some code here!
});
'disable'
Emits when a widget is disable.
// Subscribe to "disable" event.
widget.on('disable', function () {
// Some code here!
});
'enable'
Emits when a widget is enable.
// Subscribe to "enable" event.
widget.on('enable', function () {
// Some code here!
});
'hide'
Event emitted when the menu hides a fold.
// Subscribe to "hide" event.
menu.on('hide', function () {
// Some code here!
});
'ready'
Event emitted when the widget is ready to use.
// Subscribe to "ready" event.
menu.on('ready', function () {
// Some code here!
});
'show'
Event emitted when the menu shows a fold.
// Subscribe to "show" event.
menu.on('show', function (shown) {
// Some code here!
});