programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende...

41
Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles © 2012-2013 Depto. Ciencia de la Computación e IA Programación web para móviles Sesión 5: Introducción a jQuery Mobile

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IA

Programación web para móviles

Sesión 5: Introducción a jQuery Mobile

Page 2: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 2

Contenido

• ¿Qué es jQuery Mobile?• Páginas en jQuery Mobile

• Anatomía de una página• Enlaces• Transiciones• Diálogos• Precarga y caché• Estilos de los componentes

• Barras de herramientas• Formateo de contenido

Page 3: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 3

¿Qué es jQuery Mobile?

• “jQuery Mobile es un framework de interfaz gráfica especialmente diseñado para el desarrollo de aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles del mercado”

• Basado en jQuery• Framework ligero• Apoyado por Mozilla Corporation, Palm, Blackberry, Nokia

y Adobe entre otras• Conseguir una misma sensación de navegación por parte

del usuario en la mayoría de los dispositivos móviles

Page 4: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 4

Características de jQuery Mobile

• Basado en el núcleo de jQuery• Altamente compatible con la gran mayoría de dispositivos• Tamaño reducido (unos 20kb)• HTML5• Mejora progresiva• Accesibilidad• Soporte de eventos de ratón y de contacto• Fácilmente modificable

Page 5: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 5

Soporte de jQuery Mobile

• Tres grados de soporte:• Grado A: soportan todas las características de jQuery Mobile

(navegación páginas web mediante AJAX y transiciones)• Grado B: no soportan la navegación mediante AJAX• Grado C: únicamente se garantiza el comportamiento básico

• Ver tabla de compatibilidades en los apuntes

Page 6: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 6

¿Cómo funciona jQuery Mobile?

1. Páginas en HTML (con pequeñas modificaciones)

2. Transformaciones del DOM

3. Páginas web adaptadas a dispositivos móviles

Page 7: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 7

Páginas en jQuery Mobile

• Anatomía de una página• Documentos HTML con páginas individuales• Documentos HTML multipágina

<!DOCTYPE html><html> <head> <title>Título de la página</title> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <link rel="stylesheet" href="1.1.1/jquery.mobile-1.1.1.min.css" /> <script type="text/javascript" src/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="juery.mobile-1.1.1.min.js"></script></head><body>...aquí iría el contenido...</body></html>

Page 8: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 8

Anatomía de una página

• Importancia de la etiqueta meta name=”viewport”• Documento HTML de una sola página…<div data-role="page"> <div data-role="header">Título</div> <div data-role="content">Contenido</div> <div data-role="footer">Pie de página</div></div>…

Page 9: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 9

Anatomía de una página

• Documento HTML multipágina

• Por defecto, se mostrará la primera página encontrada• No es posible enlazar <a href=”index.html#foo”>

…<!--Inicio de la primera página --><div data-role="page" id=”home”> <div data-role="header">Home</div> <div data-role="content">Contenido</div> <div data-role="footer">Pie de página</div></div>

<!--Inicio de la segunda página --><div data-role="page" id=”author”> <div data-role="header">Fran García</div> <div data-role="content"> <p><a href="#home">Volver al inicio</a></p> </div> <div data-role="footer">Pie de página</div></div>

Page 10: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 10

Títulos de las páginas

<div data-role="page" id="foo" data-title="Page Foo">…</div>

• Podemos especificar el título de las páginas con el atributo data-title

Page 11: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 11

Enlaces entre páginas

• Sintaxis HTML• Enlaces cargados mediante AJAX por defecto

• Siempre que sea posible (salvo dominios externos)• Las nuevas páginas se cargan dinámicamente en el DOM• Se muestra imagen de precarga• En caso de error, se muestra mensaje de error

• Enlaces sin utilizar AJAX• Dominios externos• Atributo rel=”external”• Atributo data-ajax=”false”• Atributo target=”...”

Page 12: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 12

Enlaces en un documento multipágina

• <a href=”#foo”>Foo</a>• Buscará una página con identificador foo• Se muestra con una transición• Navegación para volver atrás• Al enlazar desde una página cargada vía AJAX a un

documento multipágina, debemos añadir el atributo rel=”external” o data-ajax=”false”.

<a href="multipagina.html" rel="external">Multi-página</a>

Page 13: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 13

Botón atrás

• Especificando el atributo data-rel=”back”• Se obviará el atributo href• Podemos especificar el atributo data-direction=”reverse”

<a href=”#home” data-rel=”back">Volver</a>

Page 14: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 14

Transiciones entre páginas

• Añadir el atributo data-transition al enlace• Seis tipos de transiciones

• slide• slideup• slidedown• pop• fade• flip

Page 15: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 15

Diálogos

• Simulan la creación de cuadros de diálogo• Añadir el atributo data-rel=”dialog” al enlace

<a href="foo.html" data-rel="dialog"> Abrir cuadro de diálogo</a>

Page 16: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 16

Diálogos. Transiciones

• Transición por defecto pop• Podemos cambiarla con el atributo data-transition

• Para cerrar un cuadro de diálogo:• Hacer clic en cualquier lugar• O añadir un enlace con el atributo data-rel=”back”

• Los cuadros de diálogo no aparecerán en el historial de navegación

<a href="foo.html" data-rel="dialog" data-transition=”pop”> Abrir cuadro de diálogo</a>

Page 17: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 17

Precarga

• Podemos precargar páginas únicas• Utilizaremos el atributo data-prefetch•

• ¡¡Cuidado con el uso de esta característica!!

<a href="enlaceprecargado.html" data-prefetch>Enlace precargado</a>

Page 18: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 18

Caché

• Las páginas se van añadiendo al DOM• Cuando volvemos a una página ya cargada, se mira

automáticamente en el DOM• Si la página ha sido eliminada

• Se carga de la propia caché del navegador• Se vuelve a solicitar al servidor

• Podemos autogestionar esta caché

$.mobile.page.prototype.options.domCache = true;

<a href="foo/bar/baz" data-dom-cache="true">link text</a>

Page 19: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 19

Estilo de los componentes jQuery Mobile

• Podemos estilizar cada componente de forma diferente• Tenemos cinco temas preparados• Podemos especificar este tema con el atributo data-theme

y puede tener los valores• a• b• c• d• e

Page 20: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 20

Estilo de los componentes jQuery Mobile

Page 21: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 21

Barras de herramientas

• Tenemos dos tipos:• Cabeceras (headers)• Pies de página (footers)

• Barras siempre visibles con data-position=”fixed”• Barras de herramientas para páginas a pantalla completa

• data-fullscreen=”true” al elemento div con data-role=”page”• y data-position=”fixed” en la barra de herramientas

Page 22: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 22

Cabeceras

• Situada al inicio de las páginas• Atributo data-role=”header”• Contiene un título (<h1>..</h1>)• Botones

• Podemos añadir hasta dos botones (izquierda y derecha del título)• Serán enlaces

<div data-role="header" data-position="inline"> <a href="index.html" data-icon="delete">Cancel</a> <h1>Edit Contact</h1> <a href="index.html" data-icon="check">Save</a></div>

Page 23: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 23

Cabeceras

• Los botones heredan el tema de la barra que los contiene• Podemos modificarlos con el atributo data-theme

<div data-role="header" data-position="inline"> <a href="index.html" data-icon="delete">Cancel</a> <h1>Edit Contact</h1> <a href="index.html" data-icon="check" data-theme="b">Save</a></div>

Page 24: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 24

Cabeceras

• Podemos controlar donde aparecen los botones• Por ejemplo, si sólo mostramos un botón a la derecha• Especificamos el atributo class con los valores

• ui-btn-right• ui-btn-left

<div data-role="header" data-position="inline" <h1>Page Title</h1> <a href="index.html" data-icon="gear" class="ui-btn-right">Options</a></div>

Page 25: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 25

Cabeceras

• Botones para volver atrás automaticos• Especificando el atributo data-add-back-btn=”true”• Podemos especificar el título del botón atrás con data-

back-btn-text=”Atrás”• E incluso el tema con data-back-btn-theme• Además, podemos crear un enlace con el atributo data-

rel=”back” y el atributo data-direction=”reverse”

Page 26: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 26

Pies de página

• Comportamiento similar a las cabeceras• Atributo data-role=”footer”• Podemos añadir botones mediante enlaces con el atributo

data-role=”button”

<div data-role="footer" class="ui-bar"> <a href="index.html" data-role="button" data-icon="delete">Remove</a> <a href="index.html" data-role="button" data-icon="plus">Add</a> <a href="index.html" data-role="button" data-icon="arrow-u">Up</a> <a href="index.html" data-role="button" data-icon="arrow-d">Down</a></div>

Page 27: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 27

Pies de página

• Podemos agrupar los botones con los atributos• data-role=”controlgroup”• data-type=”horizontal”

<div data-role="footer" class="ui-bar"> <div data-role="controlgroup" data-type="horizontal"> <a href="index.html" data-role="button" data-icon="delete">Remove</a> <a href="index.html" data-role="button" data-icon="plus">Add</a> <a href="index.html" data-role="button" data-icon="arrow-u">Up</a> <a href="index.html" data-role="button" data-icon="arrow-d">Down</a> </div></div>

Page 28: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 28

Barras de navegación

• Facilitan la usabilidad de nuestra aplicación• Permite hasta cinco botones por barra• Situada en cabeceras o en pies de página• Lista desordenada de enlaces con data-role=”navbar”• Opción activa: class=”ui-btn-active”

<div data-role="footer"> <div data-role="navbar"> <ul> <li><a href="a.html" class="ui-btn-active">One</a></li> <li><a href="b.html">Two</a></li> </ul> </div><!-- /navbar --></div><!-- /footer -->

Page 29: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 29

Barras de navegación

• jQuery Mobile se encarga automáticamente de ordenar los botones en función de su número

Page 30: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 30

Barras de navegación

• Posibilidad de agregar iconos a los botones con el atributo data-icon

• Podemos controlar donde aparece el icono con el atributo data-iconpos y los valores left, right, top o bottom

arrow-l arrow-w arrow-u

arrow-d delete plus

minus check gear

refresh forward back

grid star alert

info home search

Page 31: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 31

Formateo de contenido. HTML básico

• jQuery Mobile se basa en convenciones que nos ayudarán

• Podemos formatear contenido con HTML básico• Encabezados

<h1>Cabecera H1</h1><h2>Cabecera H2</h2><h3>Cabecera H3</h3><h4>Cabecera H4</h4><h5>Cabecera H5</h5><h6>Cabecera H6</h6>

Page 32: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 32

Formateo de contenido. HTML básico

<ol> <li>Lista desordenada item 1</li> <li>Lista desordenada item 2</li> <li>Lista desordenada item 3</li></ol>

• Listas desordenadas

Page 33: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 33

Formateo de contenido. HTML básico

<table> <thead> <tr><th>ISBN</th><th>Título</th> <th>Autor</th></tr> </thead> <tbody> <tr><td>843992688X</td><td>La colmena</td><td>Camilo José Cela Trulock</td></tr> <tr><td>0936388110</td><td>La galatea</td><td>Miguel de Cervantes Saavedra</td></tr> <tr><td>8437624045</td><td>La dragontea</td><td>Félix Lope de Vega y Carpio</td></tr> </tbody></table>

• Tablas

Page 34: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 34

Diseño por columnas

• No es muy habitual en aplicaciones web para móviles• Se utilizan para aprovechar al máximo la amplitud de los

dispositivos• Utilizaremos una clase llamada ui-grid y se permiten hasta

5 columnas• 2 columnas: ui-grid-a• 3 columnas: ui-grid-b• 4 columnas: ui-grid-c• 5 columnas: ui-grid-d

Page 35: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 35

Diseño por columnas

• Ver código fuente en los apuntes

Page 36: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 36

Diseño por columnas

<div class="ui-grid-c"> <div class="ui-block-a"><div class="ui-bar ui-bar-e">Block 1</div></div> <div class="ui-block-b"><div class="ui-bar ui-bar-e">Block 2</div></div> <div class="ui-block-c"><div class="ui-bar ui-bar-e">Block 3</div></div> <div class="ui-block-a"><div class="ui-bar ui-bar-e">Block 4</div></div> <div class="ui-block-b"><div class="ui-bar ui-bar-e">Block 5</div></div> <div class="ui-block-c"><div class="ui-bar ui-bar-e">Block 6</div></div> <div class="ui-block-a"><div class="ui-bar ui-bar-e">Block 7</div></div> <div class="ui-block-b"><div class="ui-bar ui-bar-e">Block 8</div></div> <div class="ui-block-c"><div class="ui-bar ui-bar-e">Block 9</div></div> </div>

• Organización automática

Page 37: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 37

Contenido desplegable

<div data-role="collapsible"> <h3>Contenido desplegable</h3> <p> Este contenido puede ser mostrado y ocultado por el usuario simplemente haciendo clic en la cabecera </p></div>

• Contenido que se mostrará cuando el usuario haga clic o contacte sobre él

• Debemos especificar el atributo data-role=”collapsible” seguido de un elemento de encabezado

Page 38: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 38

Contenido desplegable

<div data-role="collapsible"> <h3>Contenido desplegable</h3> <p>Este contenido está dentro de un desplegable...</p> <div data-role="collapsible"> <h4>más información</h4> <p>... que a su vez tiene más contenido desplegable</p> </div> </div>

• Podemos utilizar el atributo data-collapsed=”false” para que se muestre por defecto el contenido

• Podemos tener varios componentes de estilo anidados

Page 39: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 39

Contenidos desplegables agrupados

• También llamados acordeones• Es un conjunto de contenidos desplegables de tal forma

que al abrir uno el resto se ocultan automáticamente• La sintaxis es muy parecida a lo que veíamos

anteriormente• Sólo debemos agrupar todos los elementos dentro de una

capa div con el atributo data-role=”collapsible-set”• Si queremos mostrar de inicio algún contenido debemos

utilizar el atributo data-collapsed=”false”

Page 40: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 40

Contenidos desplegables agrupados<div data-role="collapsible-set"> <div data-role="collapsible" data-collapsed="true"> <h3>Sección A</h3><p>Contenido desplega para A.</p> </div> <div data-role="collapsible" data-collapsed="true"> <h3>Sección B</h3><p>Contenido desplega para B.</p> </div> <div data-role="collapsible" data-collapsed="false"> <h3>Sección C</h3><p>Contenido desplega para C.</p> </div> <div data-role="collapsible" data-collapsed="true"> <h3>Sección D</h3><p>Contenido desplega para D.</p> </div></div>

Page 41: Programación web para móviles · 2012-11-30 · aplicaciones web para móviles que pretende unificar el diseño de interfaces de usuario para la mayoría de dispositivos móviles

Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles

© 2012-2013 Depto. Ciencia de la Computación e IAProgramación web para móviles Introducción a jQuery Mobile - 41

¿Preguntas...?