Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function SlideMenu( $base, $container, side, type, theme ){
- var events, panel, e,
- container_id = "#" + $($container).attr("id") + " ";
- function getEvents( $b, container_id ){
- var i, j, type, nodes = [], s, oEvents, eventAttachedNode, func;
- for ( i in $.cache ) {
- if ( typeof $.cache[i].events == 'object' ) {
- eventAttachedNode = $.cache[i].handle.elem;
- for ( type in $.cache[i].events ) {
- /* Ignore live event object - live events are listed as normal events as well */
- if ( type == 'live' ) {
- continue;
- }
- oEvents = $.cache[i].events[type];
- for ( j in oEvents ) {
- if ( typeof oEvents[j].selector != 'undefined' && oEvents[j].selector !== null ) {
- s = oEvents[j].selector.replace(container_id, '');
- if ( $( s, $base ).length > 0 ){
- if ( typeof oEvents[j].origHandler != 'undefined' ) {
- func = oEvents[j].origHandler;
- } else if ( typeof oEvents[j].handler != 'undefined' ) {
- func = oEvents[j].handler;
- }
- nodes.push( {
- selector: s,
- handler: func,
- type: type
- } );
- }
- }
- }
- }
- }
- }
- return nodes;
- }
- events = getEvents( $base, container_id );
- var page = $base.parents('[data-role="page"]:first');
- panel = $base.parent().detach();
- panel.attr({
- "data-role":"panel",
- "data-position": side || "left",
- "data-display": type || "push",
- "data-theme": theme || "a",
- "id": page.attr("dsid") + "_myCoolestNavPanel"
- });
- panel.prependTo(page);
- for (var i = 0; i < events.length; i++) {
- e = events[i];
- $(e.selector, $base).on(e.type, e.handler);
- }
- panel.parent().trigger( "create" );
- return panel;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement