El Splitter menu también conocido como menú hamburguesa es un componente de Onsen UI que permite tener un menú de navegación oculto y que se muestra al presionar un botón en la barra de navegación.
El splitter menú es un componente muy útil para aplicaciones que cuentan con muchas paginas y busca facilitar el acceso al usuario.
Les invito a ver los articulos Introduccion a Onsen UI y Plantillas y navegacion entre paginas con Onsen UI les ayudaran a comprender mejor este articulo.
Código
Parte 1
La primera parte del código, después de incluir las librerías onsen ui y jquery seria el navigator y el template del splitter menu.
<ons-navigator swipeable id="myNavigator"></ons-navigator> <!-- Plantilla para el splitter menu, aqui se muestra el menu y en el espacio "content" se muestra la pagina que se selecciona por default=page1.html --> <template id="splitter.html"> <ons-splitter> <ons-splitter-side id="menu" side="left" width="220px" collapse swipeable> <ons-page id="menu.html"> <ons-list> <ons-list-item class="menux_item" data-href="page1.html" tappable> Pagina 1 </ons-list-item> <ons-list-item class="menux_item" data-href="page2.html" tappable> Pagina 2 </ons-list-item> </ons-list> </ons-page> </ons-splitter-side> <ons-splitter-content id="content" page="page1.html"></ons-splitter-content> </ons-splitter> </template>
Aquí tenemos un template que contiene un componente ons-splitter que contiene la configuración del menu, la lista de opciones y el splitter content apunta a la pagina de inicio por default.
Parte 2
Lo siguiente seria la pagina 1 o page1.html.
<template id="page1.html"> <ons-page id="page1"> <ons-toolbar <div class="left"> <ons-toolbar-button id="open_menu"> <ons-icon icon="md-menu"></ons-icon> </ons-toolbar-button> </div> <div class="center">Mi Aplicacion</div> </ons-toolbar> <ons-card > <div class="title">Pagina 1</div> <div class="content"> <p>Esta es la pagina 1</p> <div> </div> </div> </ons-card> </ons-page> </template>
La pagina que debe tener un toolbar con un botón que servirá para abrir el menu. El ons-toolbar contiene el titulo de la aplicación y un botón con id=open_menu y un icono de menú, que servirá para abrir el menú.
Parte 3
Esta parte es otra pagina, ya que el menú de la parte 1 indica que hay 2 pagina, page1.html y page2.html.
<template id="page2.html"> <ons-page id="page2"> <ons-toolbar <div class="left"> <ons-toolbar-button id="open_menu"> <ons-icon icon="md-menu"></ons-icon> </ons-toolbar-button> </div> <div class="center">Mi Aplicacion</div> </ons-toolbar> <ons-card > <div class="title">Pagina 2</div> <div class="content"> <p>Esta es la pagina 2</p> <div> </div> </div> </ons-card> </ons-page> </template>
Esta pagina es similar a la primera pagina page1.html solo cambia el contenido de la pagina.
Todas las paginas deben tener el toolbar y el botón de menu.
Parte 4
Esta es la ultima parte, es el código javascript para activar el menú.
ons.ready(function() { document.querySelector("#myNavigator").resetToPage('splitter.html'); // seleccionamos la paginapor default, seria el template splitter }); $(document).on("init", function(e) { $("#open_menu").click(function() { // al hacer click en el icono de menu $('#menu')[0].open(); // abrimos el menu }) if (e.target.id == 'menu.html') { // Al seleccionar un elemento del menu $(".menux_item").click(function() { var href = $(this).data('href'); // Vamos a usar el data-href que contiene cada elemento $('#content')[0].load(href).then(menu.close.bind($('#menu')[0])); // cargamos la pagina correspondiente y cerramos el menu }); } });
Agregue unos comentarios en el código para que se entienda un poco mejor.
Resultado
Este es el resultado de como se muestra el menú.
Descargar
A continuación les proporciono un enlace para descargar el ejemplo.
Link: https://drive.google.com/file/d/1gnwCSt0GSczUfLdddKjIwdRiRIv4KW_R/view
Solo debes descomprimir y abrir el archivo index.html en su navegador.
Conclusión
Onsen UI es una manera fácil y rápida de hacer aplicaciones móviles web, próximamente estaremos subiendo mas artículos y ejemplos de onsen ui.
No se olviden de comentar y suscribirse al blog para recibir un email cada vez que se publiquen nuevos artículos.
También les invito a suscribirse a mi canal de youtube donde publico video demostraciones https://youtube.com/evilnapsis
Saludos a todos!