Foros del Web » Programando para Internet » Javascript »

Menu acordeon, array?

Estas en el tema de Menu acordeon, array? en el foro de Javascript en Foros del Web. Hola, estoy insertando este menú acordeón en una app que estoy haciendo con Ionic Framework. El caso es que no se bien JS pero la ...
  #1 (permalink)  
Antiguo 13/11/2016, 09:09
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 9 meses
Puntos: 6
Menu acordeon, array?

Hola, estoy insertando este menú acordeón en una app que estoy haciendo con Ionic Framework. El caso es que no se bien JS pero la estoy haciendo en unas prácticas de un curso, por eso necesito ayuda.

Tengo el siguiente código HTML, CSS Y JS:

https://codepen.io/ionic/pen/uJkCz

O lo copio y pego aquí, es lo mismo:

Código HTML:
Ver original
  1. <html ng-app="ionicApp">
  2.   <head>
  3.     <meta charset="utf-8">
  4.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  5.     <title>Ionic Accordion</title>
  6.    
  7.     <link href="//code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">
  8.     <script src="//code.ionicframework.com/nightly/js/ionic.bundle.js"></script>
  9.  
  10.   </head>
  11.  
  12.   <body ng-controller="MyCtrl">
  13.    
  14.     <ion-header-bar class="bar-positive">
  15.       <h1 class="title">Accordion List</h1>
  16.     </ion-header-bar>
  17.  
  18.     <ion-content>
  19.  
  20.       <ion-list>
  21.         <div ng-repeat="group in groups">
  22.           <ion-item class="item-stable"
  23.                    ng-click="toggleGroup(group)"
  24.                    ng-class="{active: isGroupShown(group)}">
  25.               <i class="icon" ng-class="isGroupShown(group) ? 'ion-minus' : 'ion-plus'"></i>
  26.             &nbsp;
  27.             Group {{group.name}}
  28.           </ion-item>
  29.           <ion-item class="item-accordion"
  30.                    ng-repeat="item in group.items"
  31.                    ng-show="isGroupShown(group)">
  32.             {{item}}
  33.           </ion-item>
  34.         </div>
  35.       </ion-list>
  36.  
  37.     </ion-content>
  38.      
  39.   </body>
  40. </html>



Código CSS:
Ver original
  1. body {
  2.   cursor: url('http://ionicframework.com/img/finger.png'), auto;
  3. }
  4.  
  5. /*
  6.  * http://docs.angularjs.org/api/ng/directive/ngShow#usage_animations
  7.  */
  8. .list .item.item-accordion {
  9.   line-height: 38px;
  10.   padding-top: 0;
  11.   padding-bottom: 0;
  12.   transition: 0.09s all linear;
  13. }
  14. .list .item.item-accordion.ng-hide {
  15.   line-height: 0px;
  16. }
  17. .list .item.item-accordion.ng-hide-add,
  18. .list .item.item-accordion.ng-hide-remove {
  19.   display: block !important;
  20. }



Código Javascript:
Ver original
  1. angular.module('ionicApp', ['ionic'])
  2.  
  3. .controller('MyCtrl', function($scope) {
  4.   $scope.groups = [];
  5.   for (var i=0; i<10; i++) {
  6.     $scope.groups[i] = {
  7.       name: i,
  8.       items: []
  9.     };
  10.     for (var j=0; j<3; j++) {
  11.       $scope.groups[i].items.push(i + '-' + j);
  12.     }
  13.   }
  14.  
  15.   /*
  16.    * if given group is the selected group, deselect it
  17.    * else, select the given group
  18.    */
  19.   $scope.toggleGroup = function(group) {
  20.     if ($scope.isGroupShown(group)) {
  21.       $scope.shownGroup = null;
  22.     } else {
  23.       $scope.shownGroup = group;
  24.     }
  25.   };
  26.   $scope.isGroupShown = function(group) {
  27.     return $scope.shownGroup === group;
  28.   };
  29.  
  30. });



Tengo que poner en la lista mis propios grupos y llamarlos como yo quiero, ubicacion, provincia, tipos de casas, lo que sea, con mis propios subgrupos, en vez de grupo 0, grupo 1 etc, como esta ahora y no tengo ni idea como hacerlo.

¿Tengo que hacer un array en el archivo de Js?

¿Cómo puedo poner un array ahí con mis opciones?

Espero que alguien me pueda responder, supongo que hay que saber programacion pero quiero terminar las practicas haciendo bien ese menu.

gracias!!

Etiquetas: acordeon, html, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:42.