Advertisement
Guest User

Appery_SlideMenu

a guest
Jul 10th, 2013
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function SlideMenu( $base, $container, side, type, theme ){
  2.     var events, panel, e,
  3.         container_id = "#" + $($container).attr("id") + " ";
  4.     function getEvents( $b, container_id ){
  5.         var i, j, type, nodes = [], s, oEvents, eventAttachedNode, func;
  6.         for ( i in $.cache ) {
  7.             if ( typeof $.cache[i].events == 'object' ) {
  8.                 eventAttachedNode = $.cache[i].handle.elem;
  9.                 for ( type in $.cache[i].events ) {
  10.                     /* Ignore live event object - live events are listed as normal events as well */
  11.                     if ( type == 'live' ) {
  12.                         continue;
  13.                     }
  14.  
  15.                     oEvents = $.cache[i].events[type];
  16.  
  17.                     for ( j in oEvents ) {
  18.                         if ( typeof oEvents[j].selector != 'undefined' && oEvents[j].selector !== null ) {
  19.                             s = oEvents[j].selector.replace(container_id, '');
  20.                             if ( $( s, $base ).length > 0 ){
  21.                                 if ( typeof oEvents[j].origHandler != 'undefined' ) {
  22.                                     func = oEvents[j].origHandler;
  23.                                 } else if ( typeof oEvents[j].handler != 'undefined' ) {
  24.                                     func = oEvents[j].handler;
  25.                                 }
  26.                                 nodes.push( {
  27.                                     selector: s,
  28.                                     handler: func,
  29.                                     type: type
  30.                                 } );
  31.                             }
  32.                         }
  33.                     }
  34.                 }
  35.             }
  36.         }
  37.         return nodes;
  38.     }
  39.     events = getEvents( $base, container_id );
  40.  
  41.     panel = $base.parent().detach();
  42.     panel.attr({
  43.       "data-role":"panel",
  44.       "data-position": side || "left",
  45.       "data-display": type || "push",
  46.       "data-theme": theme || "a",
  47.       "id": "myCoolestNavPanel"
  48.     });
  49.     panel.prependTo('div[data-role="page"]');
  50.  
  51.     for (var i = 0; i < events.length; i++) {
  52.         e = events[i];
  53.         $(e.selector, $base).on(e.type, e.handler);
  54.     }
  55.     panel.parent().trigger( "create" );
  56.     return panel;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement