SlideShare una empresa de Scribd logo
1 de 164
Descargar para leer sin conexión
Desarrollo de
aplicaciones móviles
con
Msg. Yamil Lambert
ylambert@espol.edu.ec
Lección: jQuery
• Introducción
• Características
• Requisitos
• Compatibilidad
ylambert@espol.edu.ec
ylambert@espol.edu.ec
Para todas las plataformas
1 código base
ylambert@espol.edu.ec
Hacer que funcione
en todas partes
y para todos
ylambert@espol.edu.ec
ylambert@espol.edu.ec
Temas
ylambert@espol.edu.ec
ylambert@espol.edu.ec
ylambert@espol.edu.ec
ylambert@espol.edu.ec
Introducción
Una alternativa a jQuery. De hecho jQuery
Mobile utiliza a jQuery.
Un SDK/compilador para apps
Un framework para trabajar en JavaScript.
De repente en cuestiones avanzadas
podremos utilizarla.
La solución para todo
¿ Qué no es jQuery Mobile ?
ylambert@espol.edu.ec
Introducción
Un framework de interfaz de usuario multi-
plataforma que permite crear webapps y Apps
para teléfonos y tabletas táctiles.
¿ Qué es jQuery Mobile ?
¿Qué es una Webapps ?
Un sitio web o servicio en el navegador.
Una aplicación a pantalla completa instalada.
Una aplicación híbrido/nativa en tiendas
utilizando Phonegap.
ylambert@espol.edu.ec
Introducción
Docenas de plataformas distintas
(iOS, Android, Windows
Phone, Blackberry, Symbian, WebOS, Bada, etc.).
Al menos 40 navegadores distintos.
Ser multi-plataforma es clave para el éxito.
La compatibilidad de HTML5 no es boolean
¿ Por qué jQuery Mobile ?
ylambert@espol.edu.ec
Características
– Código HTML5 no intrusivo
– Código abierto
– Liviano
– Multiplataforma usando mejora progresiva
– Soporte de accesibilidad
– Personalizable
– Soporte de la comunidad
– Incluye API de JavaScript
ylambert@espol.edu.ec
Requisitos
– HTML 5
– CSS 3
– JavaScript
– jQuery
Necesitas saber
Lo que necesitas
– Un editor de texto
– Un navegador HTML5 para probar
– ¿Y el framework? (Incluso es posible prescindir del mismo)
– ¿Y compiladores nativos? (Puede ser en la nube ó utilizar Phonegap)
– ¿Y simuladores y emuladores? (Para probar como se ve la Apps)
ylambert@espol.edu.ec
Compatibilidad
– iOS (iPhone - iPad)
– Android ( Desde la versión 1.5 )
– BlackBerry ( Desde la versión 5 en adelante y la versión de tablet la
Playbook )
– Nokia (Symbian, touch, symbian3, symbian3-anna, symbian belle, MeeGo
OS 1.1 y 1.2( Phone N9 ))
– webOS ( Hewlett-Packard para sus versiones de teléfonos y tabletas)
– Windows Phone ( Desde la versión Mango 7.5 que incluye ahora a los
Nokia)
– Opera, Firefox (Navegadores)
– Bada (OS y navegador de Samsung), Kindle (Que posee Amazon en sus
distintas versiones para leer libros inclusive la Kindle Fire que es la tableta
de Amazon)
ylambert@espol.edu.ec
Compatibilidad
Calidad Alta
Un navegador que es capaz de, como
mínimo, la utilización de jQuery Mobile.
Calidad Media
Un navegador capaz que no tiene cuota
de mercado suficiente como para
justificar el día a día de pruebas.
Calidad Baja
Un navegador que no es capaz de utilizar
jQuery mobile. No se proporcionará
ningún script jQuery Mobile o CSS
(cayendo de nuevo a la versión HTML y
CSS).
Android Browser
Safari
Web Browser
BlackBerry Browser
Internet Explorer
ylambert@espol.edu.ec
Framework – 1/2
Un archivo JavaScript y CSS base
Un archivo JavaScript y Css por componente
Un grupo de imágenes (representan íconos del
framework)
Los archivos JavaScript y Css los encontramos en
dos formas:
 versión comprimida para producción
 versión sin compresión para desarrollo
Necesitamos el framework de jQuery.
ylambert@espol.edu.ec
Framework – 2/2
– Alojamiento propio
• Lo descargamos de http://jquerymobile.com/download/ y lo ponemos
en nuestro servidores es decir en nuestra carpeta de proyecto.
– CDN - versión estable ó versión desarrollo (cambia día a día)
• Content Delivery Networks-Redes de distribución de contenidos. Esto
significa dejar alojadas en otro servidor las librerías e imágenes de
jQuery.
• En ese caso Jquery posee un servidor donde podemos apuntar la
descarga del javascript y el css.
• También Microsoft ofrece una versión de CDN para jQuery Mobile.
• La ventaja de usar CDN es que no tenemos que descargar nada y
podemos comenzar a probar jQuery en segundos.
• Otra ventaja que es utiliza cache compartido en el Browser.
• Desventaja del CDN es que necesitamos Internet y que tenemos que
confiar en el CDN porque si este no funciona nuestra Apps tampoco
funcionará.
ylambert@espol.edu.ec
• Comenzando a trabajar
• Estructura
• Roles
• Temas
• Botones
• Páginas Internas y Externas
• Links Absolutos
• Transiciones
• Íconos personalizados
ylambert@espol.edu.ec
Comenzando a trabajar
– Versión estable
• http://jquerymobile.com/download/
Descargar jQuery Mobile
Descargar jQuery Core
– Versión estable 1.6.4
• http://docs.jquery.com/Downloading_jQuery
ylambert@espol.edu.ec
Estructura
– 1. HTML5 Doctype
– 2. jQuery Mobile CSS
– 3. jQuery Core JS
– 4. jQuery Mobile JS
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="jquery.mobile.css"/>
<script src="jquery.js"></script>
<script src="jquery.mobile.js"></script>
</head>
<body>
</body>
</html>
ylambert@espol.edu.ec
Roles
– jQuery Mobile usa un atributo HTML llamado data-role para
asociar un elemento con un widget. Por ejemplo:
• data-role="page"
• data-role="header“
• data-role=“content“
• data-role="footer"
• data-role="navbar"
• data-role="button"
• data-role="listview"
• data-role="controlgroup"
ylambert@espol.edu.ec
Data-role = page
<div data-role="page“ >
<!--/ContenidodelapaginajQuerymobile-->
</div>
ylambert@espol.edu.ec
Más roles
< body>
<div data-role="page“ >
<div data-role="header">
</div>
<div data-role="content">
</div>
<div data-role="footer">
</div>
</div>
< body>
Page
Header
Content
Footer
ylambert@espol.edu.ec
Demostración 1
< body>
<div data-role="page">
<div data-role="header">
<h1>jQuery mobile</h1>
</div>
<div data-role="content">
<p> Este es un texto dentro de una
página</p>
</div>
<div data-role="footer">
<h4>www.jquerymobile.com</h4>
</div>
</div>
< body>
 Uso de roles
ylambert@espol.edu.ec
Temas
– jQuery Mobile viene con muchos esquemas de color los cuales pueden ser
controlados usando el atributo data-theme.
– Se puede especificar data-theme en una página, toolbar, botones, etc.
– Intenta especificar data-theme=a,b,c,d,e y f.
<div data-role="page“ data-theme="e">
<div data-role="header“data-theme=“c">
<h1>jQuery mobile</h1>
</div>
<div data-role="footer“data-theme=“b">
<h4>www.jquerymobile.com</h4>
</div>
</div>
ylambert@espol.edu.ec
data-theme=“b”data-theme=“a” data-theme=“e”
Temas
ylambert@espol.edu.ec
Demostración 2
< body>
<div data-role="page“ data-theme="e">
<div data-role="header“ data-theme=“c">
<h1>jQuery mobile</h1>
</div>
<div data-role="content">
<p> Este es un texto dentro de una
página</p>
</div>
<div data-role="footer“ data-theme=“b">
<h4>www.jquerymobile.com</h4>
</div>
</div>
< body>
 Uso de Temas
ylambert@espol.edu.ec
Botones
– Se puede crear un botón agregando data-role="button" a una etiqueta
botón.
– button tag, un tag, o input type=submit|button|reset|image.
– Se puede agregar un ícono en el botón usando data-icon="icon-name".
– Por defecto el ícono va a la derecha pero se puede cambiar especificando
data-iconpos.
ylambert@espol.edu.ec
Demostración 3
<div data-role="page“ data-theme=“b">
<div data-role="header" data-theme="e">
<h1>Botones</h1>
</div>
<div data-role="content">
<a href="#" data-role="button" data-
theme="d">Aceptar</a>
<a href="#" data-role="button" data-
theme="a">Cancelar</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Botones
ylambert@espol.edu.ec
Demostración 4
<div data-role="page“ data-theme=“b">
<div data-role="header" data-theme="e">
<h1>Botones</h1>
</div>
<div data-role="content">
<a href="#" data-role="button" data-
theme="d“ data-inline="true">Aceptar</a>
<a href="#" data-role="button" data-
theme="a“ data-inline="true">Cancelar</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Botones
ylambert@espol.edu.ec
Páginas Internas
– Aprenderemos a generar documentos multipágina y a vincularla entre ellas
de manera automática.
<div data-role="page“ data-theme=“b“ id="pagina1">
........
<div data-role="content">
<a href="#pagina2" data-role="button" data-theme="d“ >Ir a página 2</a>
</div>
</div>
<div data-role="page" data-theme="b" id="pagina2" data-add-back-btn="true">
.........
<div data-role="content">
<p>Esta es la segunda página</p>
<p><a href="#pagina1" data-rel="back">Volver</a></p>
</div>
------ Página 2 ------
ylambert@espol.edu.ec
Demostración 5
<div data-role="page" data-theme="b"
id="pagina1">
<div data-role="header" data-theme="e">
<h1>Página Interna</h1>
</div>
<div data-role="content">
<a href="#pagina2" data-role="button">Ir
hacia página 2</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Páginas Internas – 1/2
ylambert@espol.edu.ec
Demostración 5
<div data-role="page" data-theme="b"
id="pagina2" data-add-back-btn="true">
<div data-role="header" data-theme="e">
<h1>Segunda Página</h1>
</div>
<div data-role="content">
<p>Esta es la segunda página</p>
<p><a href="#pagina1" data-
rel="back">Volver</a></p>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Páginas Internas – 2/2
ylambert@espol.edu.ec
Páginas Externas
– Cada vez que cargamos un nuevo documento HTML jQuery lo hace a través
de AJAX.
<div data-role="page“ data-theme=“b“ >
........
<div data-role="content">
<a href=“pagina2.html" data-role="button" data-theme="d“ >Ir a página
externa</a>
</div>
</div>
<div data-role="page" data-theme="b“ >
.........
<div data-role="content">
<p>Yo soy otro documento HTML</p>
</div>
pagina2.html
ylambert@espol.edu.ec
Demostración 6
<div data-role="page" data-theme="b“ >
<div data-role="header" data-theme="e">
<h1>Página Externa</h1>
</div>
<div data-role="content">
<a href="demo6_pagexterna2.html" data-
role="button">Ir página externa</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Páginas Externas – 1/2
ylambert@espol.edu.ec
Demostración 6
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>Página Externa</h1>
</div>
<div data-role="content">
Yo soy otro documento HTML</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Páginas Externas – 2/2
ylambert@espol.edu.ec
Links Absoluto
– Creamos vínculos a sitios web que están fuera de nuestro entorno
(Internet) y que no son documentos jQuery.
<div data-role="page“ data-theme=“b“ >
........
<div data-role="content">
<a href=“http://www.google.com.ec" data-role="button" data-theme="d“
rel=“external” >Ir a web absoluta</a>
</div>
</div>
ylambert@espol.edu.ec
Demostración 7
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>Link Absoluto</h1>
</div>
<div data-role="content">
<a href="http://www.google.com.ec" data-
role="button" rel="external">Ir a web Absoluta</a>
<a href="mailto:info@aprendo.net" data-role="button"
>Email</a>
<a href="tel:12345678" data-
role="button">Llamar</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de Links Absoluto
ylambert@espol.edu.ec
Laboratorio 1
Uso de páginas internas, externas y Links Absoluto
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
Página Interna
Página Externa
Link absoluto externo
ylambert@espol.edu.ec
Transiciones – 1/2
– slide
• Deslice de derecha a izquierda(default)
– slideup
• Deslice desde el fondo hasta la parte superior
– slidedown
• Deslice de la parte superior al fondo
ylambert@espol.edu.ec
Transiciones – 2/2
– pop
• La nueva página crecerá a partir de un pequeño punto en medio de una página a
pantalla completa.
– fade
• Una animación de fundido cruzando entre las páginas viejas y nuevas.
– flip
• Voltear la página de la vieja a la nueva
ylambert@espol.edu.ec
Demostración 8
<div data-role="page" data-theme="b" id="pagina1">
<div data-role="header" data-theme="e">
<h1>Transiciones</h1>
</div>
<div data-role="content">
<a href="#pagina2" data-role="button" data-transition="slide">Slide</a>
<a href="#pagina2" data-role="button" data-transition="slideup">Slide
up</a>
<a href="#pagina2" data-role="button" data-transition="slidedown">Slide
down</a>
<a href="#pagina2" data-role="button" data-transition="pop">Pop</a>
<a href="#pagina2" data-role="button" data-transition="fade">Fade</a>
<a href="#pagina2" data-role="button" data-transition="flip">Flip</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
 Uso de transiciones
ylambert@espol.edu.ec
Cuadros de Diálogo
– Cualquier página válida de jQuery mobile también se puede mostrar como
un cuadro de diálogo, simplemente añadiendo el atributo
data-rel = "dialog“ en el enlace.
<div data-role="content" class="content">
<p>First page!</p>
<p><a href="#page2" data-rel="dialog">Open page 2 as a
dialog</a></p>
</div>
ylambert@espol.edu.ec
Demostración 9 – 1/2
 Uso de Cuadros de Diálogo
<div data-role="page" data-theme="b"
id="pagina1">
<div data-role="header" data-theme="e">
<h1>Diálogo</h1>
</div>
<div data-role="content">
<p> Estas por eliminar algo importante </p>
<a href="#confirmacion" data-role="button" data-
rel="dialog">Eliminar</a>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
ylambert@espol.edu.ec
Demostración 9 – 2/2
 Uso de Cuadros de Diálogo
<div data-role="page" data-theme="b"
id="confirmacion" >
<div data-role="header" data-theme="e">
<h1>Eliminar</h1>
</div>
<div data-role="content">
<a href="#pagina1" data-role="button" data-
direction="reverse">Si, eliminar</a>
<a href="#pagina1" data-role="button" data-
direction="reverse">No</a>
</div>
</div>
ylambert@espol.edu.ec
Laboratorio 2
Uso de transiciones
• El trabajo será calificado y es individual.
• Tiempo: 5 minutos para realizar el trabajo.
Slide Up
Pop
ylambert@espol.edu.ec
Toolbars - Botones en el header
– Podemos personalizar el encabezado con botones de acción, simplemente
añadiendo la etiqueta <a href="#page2“ > Link </a> en la cabecera.
<div data-role="header" data-theme="e">
<h1>jQuery Mobile</h1>
<a href="#page2“>Link</a>
</div>
ylambert@espol.edu.ec
Demostración 10
 Uso de botones en la cabecera
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>jQuery Mobile</h1>
<a href="#pagina2" data-theme="a">Cancelar</a>
<a href="#pagina2" data-role="none">Grabar</a>
</div>
<div data-role="content">
<p>Esto es un texto dentro de una página</p>
</div>
<div data-role="footer" data-theme="b">
<h4>(C) Ylambert2015</h4>
</div>
</div>
ylambert@espol.edu.ec
Toolbars - Botones en el footer
– Podemos personalizar el pie con botones de acción, simplemente
añadiendo la etiqueta <a href=“#“ > Link </a> en el pie.
<div data-role=“footer" data-theme="e“ class="ui-bar">
<a href=“#“>Agregar</a>
<a href=“#“>Eliminar</a>
<a href=“#“>Refrescar</a>
</div>
ylambert@espol.edu.ec
Demostración 11
 Uso de botones en el pie
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>jQuery Mobile</h1>
<a href="#pagina2" data-theme="a">Cancelar</a>
<a href="#pagina2" data-role="none">Grabar</a>
</div>
<div data-role="content">
<p>Esto es un texto dentro de una página</p>
</div>
<div data-role="footer" data-theme="b“ class="ui-bar" >
<a href="#" data-theme="e">Agregar</a>
<a href="#">Eliminar</a>
<a href="#" >Refrescar</a>
</div>
</div>
ylambert@espol.edu.ec
Toolbars – Iconos en Botones – 1/2
– A menudo se necesita iconos en los botones, y jQuery Mobile viene con una
variedad de íconos.
– También puede controlar la posición del ícono.
Para especificar el icono de un botón, se aplica el atributo data- icon. El
atributo de data-icon tiene los siguientes valores válidos:
ylambert@espol.edu.ec
Toolbars – Iconos en Botones – 2/2
– Puede especificar la posición del ícono con el atributo data-iconpos. Los
valores válidos se muestran en la siguiente Tabla.
ylambert@espol.edu.ec
Demostración 12
 Uso de íconos en botones y control de agrupación
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>jQuery Mobile</h1>
<a href="#pagina2" data-theme="a">Cancelar</a>
<a href="#pagina2" data-role="none">Grabar</a>
</div>
<div data-role="content">
<p>Esto es un texto dentro de una página</p>
</div>
<div data-role="footer" data-theme="b“ class="ui-bar" >
<div data-role="controlgroup" data-type="horizontal">
<a href="#" data-icon="plus">Agregar</a>
<a href="#" data-icon="delete">Eliminar</a>
<a href="#" data-icon="refresh">Refrescar</a>
</div>
</div>
</div>
ylambert@espol.edu.ec
Demostración 13
 Uso de íconos personalizados en botones
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>Botones</h1>
<a href="#pagina2" data-theme="a" >Cancelar</a>
<a href="#pagina2" data-role="none">Grabar</a>
</div>
<div data-role="content">
<p>Ícono en botones en diferentes posiciones</p>
<div data-role="controlgroup" data-type="vertical">
<a href="#" data-icon="check" data-role="button" data-
theme="d" data-iconpos="top">Aceptar</a>
<a href="#" data-icon="plus" data-role="button" data-
theme="d">Ayuda</a>
<a href="#" data-icon="delete" data-role="button" data-theme="d" data-
iconpos="bottom">Cancelar</a>
<a href="#" data-icon="info" data-role="button" data-theme="d" data-
iconpos="right">Información</a>
<a href="#" data-icon="star" data-role="button" data-theme="d" data-
iconpos="notext">Inicio</a>
</div>
</div>
<div data-role="footer" data-theme="b“ >
<h1>jQuery Mobile</h1>
</div> </div>
ylambert@espol.edu.ec
Toolbars – Iconos personalizados en botones
– A menudo se necesita iconos personalizados para nuestras aplicaciones para
lo cual debemos hacer lo siguiente:
1. Crear un nuevo estilo. Ejemplo
<style type="text/css">
.ui-icon-myapp-reloj {
background-image: url(images/reloj.png);
}
</style>
2. Aplicar el nuevo estilo. Ejemplo
<a href="#" data-icon="myapp-reloj">Hora</a>
ylambert@espol.edu.ec
Demostración 14
 Uso de íconos personalizados en botones
<div data-role="page" data-theme="b" >
<div data-role="header" data-theme="e">
<h1>jQuery Mobile</h1>
</div>
<div data-role="content">
<p>Esto es un texto dentro de una página</p>
</div>
<div data-role="footer" data-theme="b“ class="ui-bar”>
<div data-role="controlgroup" data-
type="horizontal">
<a href="#" data-icon="myapp-reloj">Hora</a>
<a href="#" data-icon="myapp-correo">Email</a>
</div>
</div>
</div>
<style type="text/css">
.ui-icon-myapp-reloj {
background-image: url(images/reloj.png);
}
.ui-icon-myapp-correo {
background-image: url(images/mail.png);
}
</style>
ylambert@espol.edu.ec
Laboratorio 3
Uso de íconos personalizados en botones
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
Íconos personalizados
En botones - Footer
ylambert@espol.edu.ec
Lección: jQuery
• Encabezado y pie - Posicionamiento
• Barras de Navegación
• Pie de página persistente
• Contenido colapsable
• Acordeón
• Columnas
• Laboratorios
ylambert@espol.edu.ec
Encabezado-pie y posicionamiento – 1/2
– Crearemos barras de herramientas fijas y experiencias a pantalla completa.
– El Posicionamiento de las barras de herramientas debe estar dado, los
encabezados en la parte superior y los pie de página en la parte inferior.
– Para pantalla completa utilizaremos el atributo data-fullscreen=”true”.
– Para fijar el encabezado y el pie en la pantalla utilizaremos el atributo data-
position=”fixed”.
<div data-role="page" data-theme="b" data-fullscreen="true" >
<div data-role="header" data-theme="e" data-position="fixed"></div>
<div data-role="footer" data-theme="b" class="ui-bar" data-
position="fixed"></div>
</div>
ylambert@espol.edu.ec
Encabezado-pie y posicionamiento – 2/2
ylambert@espol.edu.ec
Demostración 15
<div data-role="page" data-theme="b" data-
fullscreen="true" >
<div data-role="header" data-theme="e" data-
position="fixed">
<h1>jQuery Mobile</h1>
<a href="#pagina2" data-theme="a"
>Cancelar</a>
<a href="#pagina2" >Comenzar</a></div>
<div data-role="content">
<p>La presente tiene como finalidad ..........
<div data-role="footer" data-theme="b" class="ui-bar"
data-position="fixed">
<a href="#" data-icon="plus">Agregar</a>
<a href="#" data-icon="delete">Eliminar</a>
<a href="#" >Refrescar</a>
</div>
</div>
 Uso de posicionamiento fijo y pantalla completa
ylambert@espol.edu.ec
Barras de Navegación – 1/3
– Una barra de navegación (también conocido como navbar) es un conjunto
de enlaces que pueden ser colocados en una barra de herramientas, por lo
general un pie de página, que se combinan para crear una serie de
opciones exclusivas.
– La idea de una la barra de navegación es la de actuar como un método de
navegación principal de nuestra aplicación web.
– En algunas plataformas formas, tales como iOS o Nokia, esta barra de
navegación también se llama una barra de pestañas.
– La barra de navegación soporta hasta cinco elementos en la misma línea.
ylambert@espol.edu.ec
Barras de Navegación – 2/3
Aquí podemos ver una barra de navegación dentro de un encabezado y un pie de página
ylambert@espol.edu.ec
Barras de Navegación – 3/3
Aquí podemos ver una barra de navegación con el primer botón activo
<div data-role="header" data-theme="b">
<h1>jQuery Mobile</h1>
<div data-role="navbar" >
<ul>
<li><a href="#" class="ui-btn-active">Primer</a>
<li><a href="#">Segundo</a>
<li><a href="#">Tercero</a>
<li><a href="#">Cuarto</a>
</ul>
</div>
</div>
ylambert@espol.edu.ec
Demostración 16
<div data-role="header" data-theme="b" data-position="fixed">
<h1>jQuery Mobile</h1>
<div data-role="navbar" >
<ul>
<li><a href="#" class="ui-btn-active">Primer</a>
<li><a href="#">Segundo</a>
<li><a href="#">Tercero</a>
<li><a href="#">Cuarto</a>
</ul>
</div>
</div>
<div data-role="content">Escribir.......</div>
<div data-role="footer" data-theme="b" data-position="fixed">
<div data-role="navbar" >
<ul>
Lo mismo que la cabececa
……………………………..
</div>
 Uso de Barra de navegación
ylambert@espol.edu.ec
Demostración 17
<div data-role="header" data-theme="b" data-position="fixed">
<h1>jQuery Mobile</h1>
<div data-role="navbar" >
<ul>
<li><a href="#" class="ui-btn-active">Primer</a>
<li><a href="#">Segundo</a>
<li><a href="#">Tercero</a>
<li><a href="#">Cuarto</a>
</ul>
</div>
</div>
<div data-role="content">Escribir.......</div>
<div data-role="footer" data-theme="b" data-position="fixed">
<h1>Uso de botones com íconos</h1>
</div>
 Uso de Barra de navegación con íconos
ylambert@espol.edu.ec
Pie de página persistente– 1/3
– Mientras pensaba en NavBars, entiendo que si cambiamos de un
documento a otro, un nuevo pie de página aparecerá eliminando el actual.
– Para resolver este problema y muchos otros, puede usar un pie de página
persistentes .
– Para hacer una barra de herramientas de persistencia, es necesario definir
una identificación data-id para un pie de página fija para todas las páginas
donde queremos tener el mismo pie de página.
<div data-role="footer" data-id="main" position="fixed">
ylambert@espol.edu.ec
Pie de página persistente– 2/3
El uso de pie de página persistentes
ylambert@espol.edu.ec
Demostración 18 – 1/3
 Uso de pie de página persistente
ylambert@espol.edu.ec
Demostración 18 – 2/3
 Uso de pie de página persistente
<div data-role="page" data-theme="b" id="home1">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>jQuery Mobile</h1>
</div>
<div data-role="content">
<h2>HOME</h2>
<p>La presente tien…………
<a href="#contacts1" data-role="button">Ir a Contacts</a>
</div>
<div data-role="footer" data-theme="b" data-position="fixed" data-id="pie1">
<div data-role="navbar" >
<ul>
<li><a href="#" class="ui-btn-active" data-icon="star">Home</a>
<li><a href="#" data-icon="gear">Contacts</a>
<li><a href="#" data-icon="info">Events</a>
<li><a href="#" data-icon="grid">News</a>
</ul>
</div></div>
ylambert@espol.edu.ec
Demostración 18 – 3/3
 Uso de pie de página persistente
<div data-role="page" id="contacts1">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>jQuery Mobile</h1>
</div>
<div data-role="content">
Contenido
</div>
<div data-role="footer" data-theme="b" data-position="fixed" data-id="pie1">
<div data-role="navbar" >
<ul>
<li><a href="#home1" class="ui-btn-active" data-icon="star">Home</a>
<li><a href="#" data-icon="gear">Contacts</a>
<li><a href="#" data-icon="info">Events</a>
<li><a href="#" data-icon="grid">News</a>
</ul>
</div></div>
ylambert@espol.edu.ec
Laboratorio 4
Uso de NavBar y pie persistentes
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
Páginas Internas
Páginas Externas
ylambert@espol.edu.ec
Contenido colapsable– 1/3
– Recuerde que estamos apuntando a los dispositivos móviles. En los
dispositivos móviles, el espacio es muy limitado.
– Eso es cuando el contenido plegable viene muy bien. El contenido plegable
se puede ocultar y se puede mostrar por JavaScript después de tocar un
título o un botón.
– Para crear contenido plegable, sólo tenemos que definir un contenedor con
data-role="collapsible".
– Para que el contenido siempre este abierto utilizamos data-
collapsed="false"
<div data-role="content">
<div data-role="collapsible“data-collapsed="false">
ylambert@espol.edu.ec
Contenido colapsable– 2/3
Los paneles plegables son una buena manera de mostrar gran cantidad de
información en la misma página, dando al usuario la posibilidad de cerrar y abrir
ylambert@espol.edu.ec
Demostración 19 – 3/3
 Uso de contenido colapsable
<div data-role="page”>
<div data-role="header“>
<h1>Colapsable</h1>
</div>
<div data-role="content">
<div data-role="collapsible“ data-collapsed="false">
<h2>Tecnología</h2>
<p>La red de "m……………….</p>
</div>
<div data-role="collapsible">
<h2>Entretenimiento</h2>
<p>La Conferencia……………….</p>
</div>
</div>
<div data-role="footer“ >
<h4>www.jquerymobile.com</h4>
</div>
ylambert@espol.edu.ec
Acordeón – 1/3
– Hay otro comportamiento típico de aplicaciones de Internet relacionados al
contenido colapsable.
– El acordeón: Esto le permite agrupar el contenido plegable para que sólo
un panel de puede ser visible a la vez. Por lo tanto, al ver un panel, todos
los demás están cerrados.
– Es decir, un contenedor con data-role="collapsible-set" y un grupo de
paneles plegables como hijos.
<div data-role="content">
<div data-role="collapsible-set”>
<div data-role="collapsible“data-collapsed="false">
ylambert@espol.edu.ec
Acordeón – 2/3
Un control de acordeón ricos se pueden crear utilizando un conjunto de paneles
plegables, un panel visible a la vez.
ylambert@espol.edu.ec
Demostración 20 – 3/3
 Uso de Acordeón
<div data-role="page”>
<div data-role="header“>
<h1>Colapsable Set</h1>
</div>
<div data-role="content">
<div data-role="collapsible-set">
<div data-role="collapsible“ data-collapsed="false">
<h2>Tecnología</h2>
<p>La red de "m……………….</p>
</div>
<div data-role="collapsible">
<h2>Entretenimiento</h2>
<p>La Conferencia……………….</p>
</div>
</div>
</div>
<div data-role="footer“ >
<h4>www.jquerymobile.com</h4>
</div>
ylambert@espol.edu.ec
Laboratorio 5
Uso de contenido colapsable y Acordeón
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
Acordeón
ylambert@espol.edu.ec
Columnas – 1/4
– jQuery Mobile nos ofrece unas plantillas para definir el contenido que se
muestra en columnas, llamadas rejillas de diseño.
– Estas redes actúan como una tabla sin el problema semántico de la
utilización de tabla (por favor, no utilice la tabla para nada, además de los
datos tabulares).
– Para crear una cuadrícula, sólo tiene que utilizar un contenedor de
bloque, por lo general un div con una clase de ui-grid-a para dos
columnas, ui-grid-b para tres columnas, ui-grid-c para cuatro columnas, ui-
grid-d para cinco columnas.
– Cada celda debe ser un contenedor de bloque usando ui-block-<letra> con
<letra> siendo de A a D donde A representa la primera y D la quinta
columna de la cuadrícula.
ylambert@espol.edu.ec
Columnas – 2/4
<div data-role="content">
<div class="ui-grid-a">
<div class="ui-block-a">Column 1</div>
<div class="ui-block-b">Column 2</div>
</div>
</div>
<div data-role="content">
<div class="ui-grid-b">
<!-- Row 1 -->
<div class="ui-block-a">Cell 1.1</div>
<div class="ui-block-b">Cell 1.2</div>
<div class="ui-block-c">Cell 1.3</div>
<!-- Row 2 -->
<div class="ui-block-a">Cell 2.1</div>
<div class="ui-block-b">Cell 2.2</div>
<div class="ui-block-c">Cell 2.3</div>
</div>
</div>
ylambert@espol.edu.ec
Demostración 21 – 3/4
 Uso de Columnas
<div data-role="header">
<h1>Columnas</h1>
<div data-role="navbar">
<ul>
<li><a href="#pag1">Dos Columnas</a>
<li><a href="#pag2">Tres Columnas</a>
</ul>
</div>
</div>
<div data-role="content">
<h2>Dos columnas y una fila</h2>
<div class="ui-grid-a">
<div class="ui-block-a">Columna 1</div>
<div class="ui-block-b">Columna 2</div>
</div>
</div>
<div data-role="footer“ data-position="fixed" data-id="pie1" >
<h4>www.jquerymobile.com</h4>
</div>
ylambert@espol.edu.ec
Demostración 21 – 4/4
 Uso de Columnas
<div data-role="page" data-theme="e" id="pag2">
<div data-role="header">
<h1>Columnas</h1>
<div data-role="navbar">
<ul>
<li><a href="#pag1">Dos Columnas</a>
<li><a href="#pag2">Tres Columnas</a>
</ul>
</div>
</div>
<div data-role="content">
<h2>Tres columnas y dos filas</h2>
<div class="ui-grid-b">
<!--Fila 1 -->
<div class="ui-block-a">Col 1.1</div>
<div class="ui-block-b">Col 1.2</div>
<div class="ui-block-c">Col 1.3</div>
<!--Fila 2 -->
<div class="ui-block-a">Col 2.1</div>
<div class="ui-block-b">Col 2.2</div>
<div class="ui-block-c">Col 2.3</div>
</div> </div>
ylambert@espol.edu.ec
Demostración 22 – 1/2
 Uso de Columnas
<div data-role="header">
<h1>Columnas</h1>
<div data-role="navbar">
<ul>
<li><a href="#pag1">Dos Columnas</a>
<li><a href="#pag2">Tres Columnas</a>
</ul>
</div>
</div>
<div data-role="content">
<h2>Dos columnas y una fila</h2>
<div class="ui-grid-a">
<div class="ui-block-a"><p class="marco">Columna1</p></div>
<div class="ui-block-b"> <p class="marco"> Columna 2 </p> </div>
</div>
</div>
<div data-role="footer“ data-position="fixed" data-id="pie1" >
<h4>www.jquerymobile.com</h4>
</div>
<style type="text/css">
.marco {
background-color: #CCC;
height: 50px;
margin: 0px;
border: thin solid #03C;
}
</style>
ylambert@espol.edu.ec
Demostración 22 – 2/2
 Uso de Columnas
<div data-role="page" data-theme="e" id="pag2">
<div data-role="header">
<h1>Columnas</h1>
<div data-role="navbar">
<ul>
<li><a href="#pag1">Dos Columnas</a>
<li><a href="#pag2">Tres Columnas</a>
</ul>
</div>
</div>
<div data-role="content">
<h2>Tres columnas y dos filas</h2>
<div class="ui-grid-b">
<!--Fila 1 -->
<div class="ui-block-a"> <p class="marco"> Col 1.1</p></div>
<div class="ui-block-b"> <p class="marco"> Col 1.2</p></div>
<div class="ui-block-c"> <p class="marco"> Col 1.3</p></div>
<!--Fila 2 -->
<div class="ui-block-a"> <p class="marco"> Col 2.1</p></div>
<div class="ui-block-b"> <p class="marco"> Col 2.2</p></div>
<div class="ui-block-c"> <p class="marco"> Col 2.3</p></div>
</div> </div>
ylambert@espol.edu.ec
Laboratorio 6 – 1/2
Uso de columnas – Cuadrículas
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
ylambert@espol.edu.ec
Laboratorio 6 – 2/2
Uso de columnas – Cuadrículas
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
ylambert@espol.edu.ec
Lección: jQuery - Listas
• Definición
• Listas con recuadro
• Listas interactivas
• Listas anidadas
• Divisores de listas
• Listas con botones dobles
• Imágenes
• Contador de burbujas
• Laboratorios
ylambert@espol.edu.ec
Listas – 1/3
– Las listas son un componente de interfaz de usuario muy popular porque
hacen que la experiencia en la navegación sea simple y eficiente.
– jQuery móvil puede generar listas con formato visual que son muy
similares a los estilos visto en las aplicaciones nativas.
– jQuery Móvil puede mejorar la lista ya sea ordenada o desordenada. Sólo
se aplican data-role = “listview" a una lista, y jQuery Móvil se encargará del
resto.
<h3>Unordered List</h3>
<ul data-role="listview">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
<h3>Ordered List</h3>
<ol data-role="listview">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ol>
ylambert@espol.edu.ec
Listas – 2/3
Vista de una lista básica
ylambert@espol.edu.ec
Demostración 23 – 3/3
<div data-role="content">
<h2 align="center">Cursos</h2>
<ul data-role="listview">
<li>jQuery Mobile
<li>Dreamweaver
<li>Fireworks
<li>jQuery
</ul>
<h2 align="center">Cursos</h2>
<ol data-role="listview">
<li>jQuery Mobile
<li>Dreamweaver
<li>Fireworks
<li>jQuery
</ol>
</div>
 Uso de listas
ylambert@espol.edu.ec
Listas página completa Vs listas recuadro – 1/3
– Por defecto, las listas están en un modo de página completa. Eso significa
que el contenido de la lista cubre toda la página, como se muestra a
continuación:
ylambert@espol.edu.ec
Listas con recuadro – 2/3
– En una “lista con recuadro” no aparecerá el recuadro de borde a borde. En
su lugar, una lista de inserción que se ajusta automáticamente
dentro de un bloque con esquinas redondeadas y tiene márgenes
establecidos para el espacio adicional.
– Permite tener contenido antes y después.
– Para definirlas, sólo tiene que añadir los data-inset= "true" a los elementos
UL como OL.
<ol data-role="listview" data-inset="true">
<!-- item rows -->
</ol>
ylambert@espol.edu.ec
Demostración 24 – 3/3
<div data-role="content">
<h2 align="center">Cursos</h2>
<ul data-role="listview“ data-inset="true" >
<li>jQuery Mobile
<li>Dreamweaver
<li>Fireworks
<li>jQuery
</ul>
<h2 align="center">Cursos</h2>
<ol data-role="listview“ data-inset="true" >
<li>jQuery Mobile
<li>Dreamweaver
<li>Fireworks
<li>jQuery
</ol>
</div>
 Uso de listas con recuadros
ylambert@espol.edu.ec
Listas Interactivas – 1/4
– De forma predeterminada, los elementos de vista de lista no tienen
propiedades interactivas.
– Un uso común es hacer que los elementos de la lista serán botones de
hacer tapping.
– Para hacer esto con jQuery Mobile, usted tiene que incluir las etiquetas de
anclaje en el elemento de la lista.
<h3>Unordered List</h3>
<ul data-role="listview">
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
<h3>Ordered List</h3>
<ol data-role="listview">
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ol>
ylambert@espol.edu.ec
Listas Interactivas – 2/4
Vista de lista con botones
ylambert@espol.edu.ec
Demostración 25 – 3/4
<div data-role="content">
<h3>Unordered List</h3>
<ul data-role="listview">
<li><a href="#it1">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ul>
<h3>Ordered List</h3>
<ol data-role="listview">
<li><a href="#it1">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
</ol>
</div>
 Uso de listas interactivas
ylambert@espol.edu.ec
Demostración 25 – 4/4
<div data-role="page" id="it1" data-add-back-btn="true">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>List.Interactivas</h1>
</div>
<div data-role="content">
<h2 align="center">ITEM 1</h2>
<p>Un framework de interfaz de usuario multi-
plataforma que permite crear webapps y Apps para teléfonos y
tabletas táctiles.</p>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4>
</div>
</div>
 Uso de listas interactivas
ylambert@espol.edu.ec
 Uso de listas interactivas
Laboratorio 7 – 1/2
ylambert@espol.edu.ec
 Uso de listas interactivas
Laboratorio 7 – 2/2
• El trabajo será calificado y es individual.
• Tiempo: 30 minutos para realizar el trabajo.
ylambert@espol.edu.ec
Listas Anidadas – 1/3
– jQuery Mobile permite crear listas anidadas y producir vistas interactivas
en las que el usuario puede profundizar tocando en elementos
individuales.
– La primera vista constará de los elementos de la lista de nivel superior, y
tocando en uno de esos artículos, se visualizará la sub-lista, y así
sucesivamente.
ylambert@espol.edu.ec
Demostración 26 – 2/3
<div data-role="content">
<h3 align="center">Pike+</h3>
<ul data-role="listview">
<li>Postres
<ul>
<li>Postre 1</li>
<li>Postre 2</li>
<li>Postre 3</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
<li>Platos Fuertes
<ul>
<li>Plato 1</li>
<li>Plato 2</li>
<li>Plato 3</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
 Uso de listas anidadas
ylambert@espol.edu.ec
Demostración 26 – 3/3
<li>Bebidas
<ul>
<li>Bebida 1</li>
<li>Bebida 2</li>
<li>Bebida 3</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4>
</div>
</div>
 Uso de listas anidadas
ylambert@espol.edu.ec
 Uso de listas interactivas anidadas
Laboratorio 8 – 1/4
ylambert@espol.edu.ec
 Uso de listas interactivas anidadas
Laboratorio 8 – 2/4
ylambert@espol.edu.ec
 Uso de listas interactivas anidadas
Laboratorio 8 – 3/4
ylambert@espol.edu.ec
 Uso de listas interactivas anidadas
Laboratorio 8 – 4/4
ylambert@espol.edu.ec
Divisores de listas – 1/2
– Usted puede utilizar separadores para dividir una lista única en las
agrupaciones de filas con sus propios títulos, como se muestra en la
siguiente figura:
- Para hacer esto en jQuery Mobile, podemos utilizar una nueva
función disponible para los elementos li: data-role = "list-divider"
ylambert@espol.edu.ec
Demostración 27 – 2/2
<div data-role="content">
<ul data-role="listview“ data-dividertheme="d" data-theme="e">
<li data-role="list-divider">Grupo A
<li>Argentina</li>
<li>Nigeria</li>
<li>England</li>
<li data-role="list-divider">Grupo B</li>
<li>United States</li>
<li>Mexico</li>
<li>Korea</li>
<li data-role="list-divider">Grupo C</li>
<li>Germany</li>
<li>Finland</li>
<li>Chile</li>
</ul>
</div>
 Uso de divisores de listas
ylambert@espol.edu.ec
Botones dobles – 1/6
– A veces es útil si podemos tener dos posibles acciones interactivas que
operan en la misma fila. El escenario más común es tener una acción de
detalle, y también una acción de edición.
– Por ejemplo, ¿el usuario que consulta una lista de álbumes, que debe ser
presentado con la posibilidad de comprar y escuchar a cada uno
de ellos de manera rápida y sencilla.
ylambert@espol.edu.ec
Demostración 28 – 2/6
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Platos Típicos</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li><a href="#deta1">Caldo de bolas</a>
<a href="#precio1">Precio</a>
<li><a href="#deta2">Caldo de Manguera</a>
<a href="#precio2">Precio</a>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4>
</div>
 Uso de botones dobles
ylambert@espol.edu.ec
Demostración 28 – 3/6
<div data-role="page" id="deta1" data-add-back-btn="true">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Caldo de bolas</h1>
</div>
<div data-role="content">
<h4>INGREDIENTES </h4>
<p>1 ½ libra de hueso 5 verdes crudos 2 hojas de col 1 pimiento ½
cucharadita de pimienta y comino 1 cucharada de perejil 5 verdes
cocinados ½ libra de carne molida 1csebolla paiteña 3 dientes de ajo ½.
</p>
</div>
</div>
 Uso de botones dobles
ylambert@espol.edu.ec
Demostración 28 – 4/6
<div data-role="page" id="precio1" data-add-back-btn="true">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Caldo de bolas</h1>
</div>
<div data-role="content">
<h4><b>Precio:</b> $ 5 </h4>
</div>
</div>
 Uso de botones dobles
ylambert@espol.edu.ec
Demostración 28 – 5/6
<div data-role="page" id="deta2" data-add-back-btn="true">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Caldo de Manguera</h1>
</div>
<div data-role="content">
<p>El caldo de manguera es una receta típica de la gastronomía
ecutoriana y con mucha historia. </p>
<h4>INGREDIENTES:</h4>
<p> 2 tazas de sangre de Chancho, 1 col, la mitad cocida, y la otra
mitad cruda, menudencias e intestinos de chancho, 1 pimiento.</p>
</div>
</div>
 Uso de botones dobles
ylambert@espol.edu.ec
Demostración 28 – 6/6
<div data-role="page" id="precio2" data-add-back-btn="true">
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Caldo de Manguera</h1>
</div>
<div data-role="content">
<h4><b>Precio:</b> $ 4.0 </h4>
</div>
</div>
 Uso de botones dobles
ylambert@espol.edu.ec
 Uso de listas con botones dobles
Laboratorio 9 – 1/2
Características
Precio
ylambert@espol.edu.ec
 Uso de listas con botones dobles
Laboratorio 9 – 2/2
Características
Precio
Características
Precio
ylambert@espol.edu.ec
Imágenes – 1/3
– En cada fila podemos definir una imagen para identificar gráficamente el
elemento.
– Hay dos diferentes tipos de imágenes que podemos añadir a cada fila:
iconos y miniaturas.
– El tamaño de las imágenes para poner como íconos en la lista es de
aproximadamente 25 ancho x 16 alto.
– El tamaño de las imágenes para poner como thumbnails en la lista es de
aproximadamente 80 ancho x 80 alto.
ylambert@espol.edu.ec
Demostración 29 – 2/3
<div data-role="header" data-theme="b" data-position="fixed">
<h1>World Cup</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-dividertheme="d" data-theme="e">
<li data-role="list-divider">Grupo A
<li><img src="images/ecuador.jpg" class="ui-li-icon">Ecuador</li>
<li><img src="images/alemania.jpg" class="ui-li-icon">Alemania</li>
<li data-role="list-divider">Grupo B</li>
<li><img src="images/corea.jpg" class="ui-li-icon">Corea</li>
<li><img src="images/brasil.jpg" class="ui-li-icon">Brasil</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4>
</div>
 Uso imágenes en listas como íconos
ylambert@espol.edu.ec
Demostración 30 – 3/3
<div data-role="header" data-theme="b" data-position="fixed">
<h1>Platos Típicos</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li><a href="#deta1"> <img src="images/cbola.jpg"> Caldo de
bolas</a>
<a href="#precio1">Precio</a>
<li><a href="#deta2"> <img src="images/csalch.jpg"> Caldo de
Manguera</a>
<a href="#precio2">Precio</a>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4>
</div>
 Uso imágenes en listas como thumbnails
ylambert@espol.edu.ec
Contador de burbujas – 1/3
– Un número de burbujas es un círculo con un número dentro puesto a la
derecha de la fila por lo general que muestra cuántos elementos están ahí
en las filas interactivas.
– Se puede utilizar para mostrar elementos no leídos, tareas sin terminar, o
cualquier otra información numérica en una forma muy sencilla.
– Sólo tiene que utilizar cualquier elemento, como una etiqueta span, con
una clase ui-li-count dentro de una fila de la lista y eso es todo. Por
ejemplo:
<li><a href=“cursos.html">Cursos de Programación</a>
<span class="ui-li-count">4</span>
ylambert@espol.edu.ec
Demostración 31 – 2/3
<div data-role="page" id="pag1">
<div data-role="header" data-theme="e" data-position="fixed" >
<h1>@prendamos</h1>
</div>
<div data-role="content">
<h4 align="center">Cursos Interactivos</h4>
<ul data-role="listview" data-inset="true">
<li><a href="#">Diseño</a>
<span class="ui-li-count">3</span>
<ul data-inset="true">
<li>Photoshop</li>
<li>Illustrator</li>
<li>Fireworks</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
 Uso de número de burbujas
ylambert@espol.edu.ec
Demostración 31 – 3/3
<li><a href="#">Programación</a>
<span class="ui-li-count">2</span>
<ul data-inset="true">
<li>C# .net</li>
<li>Java</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
<li><a href="#">Ofimática</a>
<span class="ui-li-count">1</span>
<ul data-inset="true">
<li>Word 2010</li>
<li><a href="#pag1" data-rel="back">Volver</a></li>
</ul>
</li>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4></div>/div>
 Uso de número de burbujas
ylambert@espol.edu.ec
Contenido relacionado – 1/2
– Hasta ahora, todas las listas que hemos diseñado tiene una sola columna
para el contenido del texto. Se puede añadir una miniatura o un
icono, pero sólo una columna de texto.
– Podemos agregar una columna de segundo nivel a todas las filas para
obtener información adicional que desee mostrar.
– Para ello, podemos utilizar cualquier elemento HTML con una clase ui-li-
aside, como un elemento span ó DIV.
<ul data-role="listview">
<li><a href=“#">Soda</a>
<span class="ui-li-aside">$1.00</span>
<li><a href=“#">Sandwich</a>
<span class="ui-li-aside">$3.20</span>
<li><a href=“#">Ice cream</a>
<span class="ui-li-aside">$1.50</span>
</ul>
ylambert@espol.edu.ec
Demostración 32 – 2/2
<div data-role="content">
<h4 align="center">Menú</h4>
<ul data-role="listview" data-inset="true" >
<li><a href="buy.html">Soda
<span class="ui-li-aside">$1.00</a></span>
<li><a href="#">Sandwich
<span class="ui-li-aside">$3.20</a></span>
<li><a href="#">Ice Cream
<span class="ui-li-aside">$1.50</a></span>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4></div>/div>
 Uso de contenido relacionado
ylambert@espol.edu.ec
Título y descripción – 1/2
– Si queremos mostrar un título y una descripción, como parte de la
fila, podemos hacerlo por utilizando algún elemento de cabecera Hx para el
título y un elemento P para la descripción del texto.
– Por supuesto, usted puede mezclar el título y la descripción con el
contenido relacionado, con los iconos o thumbnails en la misma fila.
<ul data-role="listview" data-inset="true" >
<li><a href="#">
<h3>Bebida</h3>
<p>Elige tu refresco favorito </p>
<span class="ui-li-aside">$1.00</a></span>
</ul>
ylambert@espol.edu.ec
Demostración 33 – 2/2
<div data-role="content">
<h4 align="center">Menú</h4>
<ul data-role="listview" data-inset="true" >
<li><a href="#">
<h3>Bebida</h3>
<p>Elige tu refresco favorito </p>
<span class="ui-li-aside">$1.00</a></span>
<li><a href="#">
<h3>Sandwich</h3>
<p>Jamón y Queso, jamón y huevo o atún</p>
<span class="ui-li-aside">$3.20</a></span>
<li><a href="#">
<h3>Helado</h3>
<p>Chocolate, vainilla o fresa</p>
<span class="ui-li-aside">$1.50</a></span>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
<h4>www.jquerymobile.com</h4></div>/div>
 Uso de título y descripción
ylambert@espol.edu.ec
Filtrado de datos con búsqueda – 1/2
– La magia de jQuery Mobile ha sucedido. Al agregar este atributo simple, un
cuadro de búsqueda se adjunta automáticamente en la parte superior de
la lista (página completa o recuadro) y funciona!
– Esta característica va a filtrar nuestros elementos de la lista sobre la base
de escritura del usuario. El cuadro de texto de búsqueda
se ve muy bien, con un icono de búsqueda en el lado izquierdo, un
marca de agua texto de sugerencia, esquinas redondeadas, y un botón de
borrado en el lado derecho.
– Se puede buscar en el elemento UL como OL y agregar data-filter="true"
<ul data-role="listview" data-filter="true">
<!-- list rows -->
</ul>
ylambert@espol.edu.ec
Demostración 34 – 2/2
<div data-role="content">
<h4 align="center">Menú</h4>
<ul data-role="listview" data-inset="true" data-filter="true" data-filter-
placeholder="Buscar" >
<li><a href="#">
<h3>Bebida</h3>
<p>Elige tu refresco favorito </p>
<span class="ui-li-aside">$1.00</a></span>
<li><a href="#">
<h3>Sandwich</h3>
<p>Jamón y Queso, jamón y huevo o atún</p>
<span class="ui-li-aside">$3.20</a></span>
<li><a href="#">
<h3>Helado</h3>
<p>Chocolate, vainilla o fresa</p>
<span class="ui-li-aside">$1.50</a></span>
</ul>
</div>
<div data-role="footer" data-position="fixed" data-theme="b">
 Filtrado de datos con búsqueda
ylambert@espol.edu.ec
 Uso de imágenes y filtro de datos
Laboratorio 10 – 1/2
Características
Precio
ylambert@espol.edu.ec
 Uso de imágenes y filtro de datos
Laboratorio 10 – 2/2
Características
Precio
Características
Precio
ylambert@espol.edu.ec
Formularios
– jQuery mobile soporta formularios con manejo automático de AJAX. Esa es
la primera buena noticia acerca de los controles de formulario..
– Los controles de formulario soportados son input, textarea, radio
buttons, checkbox, slider, select, etc.
– Todos los controles se encuentran dentro de un elemento de formulario
(form)con un atributo de acción que define la dirección URL que recibirá
los datos del formulario.
– Query Mobile mejorará todos los elementos de forma nativa para hacerlos
más atractivos y utilizable en dispositivos móviles.
<form action="send.php" action="get">
</form>
ylambert@espol.edu.ec
Formularios – Labels
– Un elemento muy importante del control de todas las formas es la
etiqueta. Siempre debe incluir un elemento de indicación en el control de
la derecha utilizando el atributo for. Veamos un ejemplo.
<form action="send.php" action="get">
<label for="company">Company Name:</label>
</form>
ylambert@espol.edu.ec
Formularios – Text Fields
– jQuery Mobile es compatible con los controles básicos de HTML5 de
entrada de texto y los hace de acuerdo con el tema actual y muestra de
color. Estos son los campos de entrada de texto disponibles:
– <input type="text">
– <input type="password">
– <input type="email">
– <input type="tel">
– <input type="url">
– <input type="search">
– <input type="number">
– <textarea>
<form action="send.php" action="get">
<label for="company">Company Name:</label>
<input type="text" id="company" name="company">
</form>
ylambert@espol.edu.ec
Formularios – Text Fields
Uso de nuevos tipos de entrada de texto HTML5
ylambert@espol.edu.ec
Demostración 35
<div data-role="content">
<form action="" method="get">
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre">
</form>
</div>
 Uso de labels y text fields
ylambert@espol.edu.ec
Formularios – Field Contain
– Un contenedor es un campo opcional que mejora la experiencia de usuario
en pantallas más anchas, como dispositivos tipo tableta.
– Este contenedor es cualquier elemento de bloque con data-role =
"fieldcontain“.
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre">
</div>
</form>
</div>
ylambert@espol.edu.ec
Demostración 36
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre">
</div>
<div data-role="fieldcontain">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</div>
</form>
</div>
 Uso de contenedores de campo
ylambert@espol.edu.ec
Formularios – Text Area
– Cuando usamos la caja de texto para la entrada de texto de varias
líneas, vamos a obtener un servicio de cortesía: auto-creciente.
– jQuery Mobile se inicia con una altura de dos líneas hasta que ingrese el
texto que crea una tercera línea. Entonces, la estructura se expande
automáticamente el área de texto para adaptarse a la nueva línea.
<div data-role="fieldcontain">
<label for="comen">Comentarios:</label>
<textarea id="comen" name="comen></textarea>
</div
ylambert@espol.edu.ec
Demostración 37
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre">
</div>
<div data-role="fieldcontain">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</div>
<div data-role="fieldcontain">
<label for="comen">Comentarios</label>
<textarea id="comen" name="comen"></textarea>
</div>
</form>
</div>
 Uso de Text Area
ylambert@espol.edu.ec
Nuevos Atributos de HTML5
– Es seguro usar cualquier atributo HTML 5 en nuestros campos de texto, ya
que trabajar en dispositivos compatibles y no hará nada en los navegadores
antiguos.
– Dentro de la lista de los nuevos atributos de los controles en los formulario
se pueden mencionar los siguientes:
• Requeridos
• Patrones,
• Marcador de posición,
• mínima y máxima (útil sólo para <input type="number">).
ylambert@espol.edu.ec
Demostración 38
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre" required
placeholder="Ingrese su nombre">
</div>
<div data-role="fieldcontain">
<label for="edad">Edad:</label>
<input type="number" id="edad" required
placeholder="Ingrese su edad" min="10" max="110">
</div>
</form>
</div>
 Uso de nuevos atributos en HTML5
ylambert@espol.edu.ec
Formularios – Date Fields
– Introducción de fechas en HTML siempre fue un problema y nos
acostumbramos a depender de bibliotecas de JavaScript que prestan
calendarios visuales usando HTML.
– HTML5 ahora se ha añadido soporte para los campos de fecha a través del
elemento de entrada que utilizan los siguientes tipos:
• date para un selector de fecha (día, mes, año)
• Datetime para un selector de fecha completa (día, mes, año, hora, minuto) usando la sintaxis
estándar, incluyendo la zona horaria GMT
• Time para un selector de tiempo (horas, minutos)
• datetime-local un selector de fecha completa, sin información de zona horaria
• month un selector de mes (por lo general se representa como una lista desplegable)
• week durante una semana del selector de año (por lo general se representa como una lista
desplegable)
ylambert@espol.edu.ec
Formularios – Date Fields
Desde la versión iOS 5 en adelante, los elementos de fecha son compatibles, por lo que
obtendrá un selector de fecha bonita cuando se utiliza este tipo de entrada HTML5
ylambert@espol.edu.ec
Demostración 39
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="cumple">Cumpleaño</label>
<input type="date" id="cumple" name="cumple">
</div>
<div data-role="fieldcontain">
<label for="mes">Mes favorito:</label>
<input type="month" id="mes" name="mes">
</div>
</form>
</div>
 Uso de Date Fields
ylambert@espol.edu.ec
Formularios – Slider – 1/2
– Un deslizador es ideal para los valores numéricos dentro de un rango.
Cuando se utiliza, se proporciona un campo de texto numérico y un
deslizador horizontal a la derecha.
– Para utilizar un deslizador, se debe definir un control de HTML5 <input
type="range">. Acepta mínimo, máximo, y el paso de valores:
<div data-role="fieldcontain">
<label for="qty">Cantidad:</label>
<input type="range" id="qty" name="qty" min="1" max="100" value="5">
</div>
ylambert@espol.edu.ec
Formularios – Slider – 2/2
– El deslizador es compatible con una muestra de color a través de la
definición data-theme que afecta a las teclas numéricas tipo entrada, y
también podemos definir una data-track-theme, que sólo afecta a la pista.
<div data-role="fieldcontain">
<label for="qty">Cantidad:</label>
<input type="range" id="qty" name="qty" min="1" max="100" value="5" data-theme="e"
data-track-theme="b">
</div>
ylambert@espol.edu.ec
Demostración 40
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="qty">Cantidad</label>
<input type="range" id="qty" name="qty" min="1" max="100" value="5">
</div>
<div data-role="fieldcontain">
<label for="qty">Cantidad:</label>
<input type="range" id="qty" name="qty" min="1" max="100" value="5"
data-theme="e" data-track-theme="b">
</div>
</form>
</div>
 Uso de Slider
ylambert@espol.edu.ec
Formularios – Flip Toggle Switch
– Un interruptor de palanca es un selector de valores booleanos (verdadero
o falso, encendido o apagado), similar a una casilla en funcionalidad, pero
con una interfaz de usuario radicalmente diferente.
– Se hizo como un interruptor visual que puede ser activada o desactivada
por el usuario (tocando o arrastrando el cambiar).
– Este es el primer control que necesita un explícito data-role:slider. Se
necesita un elemento select con sólo dos opciones: off/false y luego el
on/verdadero.
<div data-role="fieldcontain">
<select id="updated" name="updated" data-role="slider">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div>
ylambert@espol.edu.ec
Demostración 41
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="updated">Recibir actualizaciones</label>
<select id="updated" name="updated" data-role="slider">
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</form>
</div>
 Uso de Slider
ylambert@espol.edu.ec
Formularios – Select Menus
– Los menús a través de los elementos seleccionados son un control de
forma típica para seleccionar uno o varios opciones de una lista
desplegable. Cada navegador móvil es compatible selecciona (simple y
múltiple selección).
<div data-role="fieldcontain">
<label for="training">Entrenamiento</label>
<select id="training" name="training">
<option value="1">HTML5</option>
<option value="2">jQuery Mobile</option>
<option value=“3">BlackBerry</option>
<option value=“4">Flash</option>
<option value=“5">Fireworks</option>
</select>
</div>
ylambert@espol.edu.ec
Demostración 42
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="training">Entrenamiento</label>
<select id="training" name="training">
<option value="1">HTML5</option>
<option value="2">jQuery Mobile</option>
<option value="3">BlackBerry</option>
<option value="4">Flash</option>
<option value="5">Fireworks</option>
</select>
</div>
</form>
</div>
 Uso de Select Menus
ylambert@espol.edu.ec
Demostración 43
<div data-role="content">
<form action="" method="get">
<div data-role="fieldcontain">
<label for="training">Entrenamiento</label>
<select id="training" name="training" data-native-menu="false"
multiple>
<option value="1">HTML5</option>
<option value="2">jQuery Mobile</option>
<option value="3">BlackBerry</option>
<option value="4">Flash</option>
<option value="5">Fireworks</option>
<option value="5">DW</option>
</select>
</div>
</form>
</div>
 Uso de Select Menus con atributo múltiple y
opciones de menú no nativas
ylambert@espol.edu.ec
Formularios – Agrupación de menús
– Los Select Menu pueden agruparse usando el elemento controlgroup,
vertical o horizontalmente.
– La última es útil para cortar la longitud de selección, por ejemplo: un grupo
de mes / día / año. Para menús agrupados, tenemos que integrar en un div
con data-role = "controlgroup"
ylambert@espol.edu.ec
Demostración 44
<form action="" method="get">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<legend>Fecha de nacimiento</legend>
<select id="dia" name="dia" data-native-menu="false" >
<option >Día</option>
<option value=“1">1</option>
<option value=“2">2 Mobile</option>
</select>
<select id="mes" name="mes" data-native-menu="false" >
<option>Mes</option>
<option value=“1">Enero</option>
<option value=“2">Febrero</option>
</select>
<select id="anio" name="anio" data-native-menu="false" >
<option >Año</option>
<option value=“1">1978</option>
<option value=“2">1980</option>
</select>
</fieldset> </div> </form>
 Agrupación de menú con div y controlgroup
ylambert@espol.edu.ec
Demostración 45
<form action="" method="get">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<legend>Fecha de nacimiento</legend>
<select id="dia" name="dia" data-native-menu="false" >
<option >Día</option>
<option value=“1">1</option>
<option value=“2">2 Mobile</option>
</select>
<select id="mes" name="mes" data-native-menu="false" >
<option >Mes</option>
<option value=“1">Enero</option>
<option value=“2">Febrero</option>
</select>
<select id="anio" name="anio" data-native-menu="false" >
<option >Año</option>
<option value=“1">1978</option>
<option value=“2">1980</option>
</select>
</fieldset> </div> </form>
 Agrupación de menú con fieldset
ylambert@espol.edu.ec
Demostración 46
<form action="" method="get">
<div data-role="fieldcontain">
<div data-role="controlgroup" data-type="horizontal">
<legend>Día y Tiempo</legend>
<select id="dia" name="dia" data-native-menu="false" multiple>
<option >Día</option>
<option value="1">Lunes</option>
<option value="2">Martes</option>
<option value="3">Miércoles</option>
<option value="4">Jueves</option>
<option value="5">Viernes</option>
</select>
<select id="tiempo" name="tiempo" data-native-menu="false">
<option value="1">Mañana</option>
<option value="2">Tarde</option>
<option value="3">Noche</option>
</select>
</div>
</div>
</form>
 Agrupación de menú con div y controlgroup
ylambert@espol.edu.ec
Formularios – Radio Buttons
– Todos sabemos lo que es un botón de radio. La gran cosa acerca de los
botones de la radio en jQuery Mobile es la forma en que se prestan sin
ningún tipo de trabajo de nosotros. En primer lugar, vamos a revisar los
requisitos para los botones de radio para que funcione correctamente en
jQuery Mobile:
• Cada opción debe ser un <input type="radio“>
• Todas las opciones de un mismo grupo debe tener el mismo nombre.
• Todas las opciones deben tener un identificador único y un elemento de
etiqueta única que se le aplica.
ylambert@espol.edu.ec
Demostración 47
<form action="" method="get">
<div data-role="fieldcontain">
<div data-role="controlgroup" >
<legend>Seleccione su estado civil</legend>
<input type="radio" id="soltero" name="estadoc" value="1">
<label for="soltero">Soltero</label>
<input type="radio" id="casado" name="estadoc" value="2">
<label for="casado">Casado</label>
<input type="radio" id="divorciado" name="estadoc" value="3">
<label for="divorciado">Divorciado</label>
</select>
</div>
</div>
</form>
Uso de Radio Buttons
ylambert@espol.edu.ec
Formularios – Checkboxes
– Las casillas de verificación funcionan de manera similar a los botones de
radio, pero con selección múltiple.
ylambert@espol.edu.ec
Demostración 48
<form action="" method="get">
<form action="" method="get">
<div data-role="fieldcontain">
<div data-role="controlgroup" >
<legend>Seleccione el Género</legend>
<input type="checkbox" id="accion" name="accion" checked>
<label for="accion">Acción</label>
<input type="checkbox" id="comedia" name="comedia">
<label for="comedia">Comedia</label>
<input type="checkbox" id="drama" name="drama" >
<label for="drama">Drama</label>
</select>
</div>
</div>
</form>
Uso de Checkboxes
ylambert@espol.edu.ec
Yamil Lambert
Gracias.

Más contenido relacionado

Similar a JQquery Mobile por Yamil Lambert

APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...Interlat
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...Ivan Petrlik
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJuan Morales
 
Diseño y animación en la web movil
Diseño y animación en la web movilDiseño y animación en la web movil
Diseño y animación en la web movilMejorandola
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j queryPablo Viteri
 
Diseño UI con jQuery mobile
Diseño UI con jQuery mobileDiseño UI con jQuery mobile
Diseño UI con jQuery mobileEdgar Parada
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphoneAndres Karp
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesRobert Moreira
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvilykro
 
Charla html5 punt_multimedia_20121129
Charla html5 punt_multimedia_20121129Charla html5 punt_multimedia_20121129
Charla html5 punt_multimedia_20121129Sergi Hernando
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 

Similar a JQquery Mobile por Yamil Lambert (20)

APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
 
JqueryMobile
JqueryMobile JqueryMobile
JqueryMobile
 
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...GUIA DE  LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
GUIA DE LABORATORIO DEL USO DE LOS FRAMEWORS PHONEGAP Y JQUERY MOBILE EN APL...
 
Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5
 
Mini curse
Mini curseMini curse
Mini curse
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
Diseño y animación en la web movil
Diseño y animación en la web movilDiseño y animación en la web movil
Diseño y animación en la web movil
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
Phonegap
PhonegapPhonegap
Phonegap
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Diseño UI con jQuery mobile
Diseño UI con jQuery mobileDiseño UI con jQuery mobile
Diseño UI con jQuery mobile
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para Iphone
 
Aprender a programar aplicaciones moviles
Aprender a programar aplicaciones movilesAprender a programar aplicaciones moviles
Aprender a programar aplicaciones moviles
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvil
 
Introduccion html5
Introduccion html5Introduccion html5
Introduccion html5
 
HTML5
HTML5HTML5
HTML5
 
Charla html5 punt_multimedia_20121129
Charla html5 punt_multimedia_20121129Charla html5 punt_multimedia_20121129
Charla html5 punt_multimedia_20121129
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
Html5
Html5Html5
Html5
 

Más de Yamil Lambert

QR, RA y Realidad Virtual
QR, RA y Realidad VirtualQR, RA y Realidad Virtual
QR, RA y Realidad VirtualYamil Lambert
 
Presentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoPresentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoYamil Lambert
 
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...Yamil Lambert
 
Prácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHPrácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHYamil Lambert
 
Drones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoDrones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoYamil Lambert
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresYamil Lambert
 
Datos Inec Intenret, Smartphone con CMS - Ecuador
Datos Inec Intenret, Smartphone con CMS  - EcuadorDatos Inec Intenret, Smartphone con CMS  - Ecuador
Datos Inec Intenret, Smartphone con CMS - EcuadorYamil Lambert
 
Joomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSJoomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSYamil Lambert
 
Search engine optimization SEO
Search engine optimization SEOSearch engine optimization SEO
Search engine optimization SEOYamil Lambert
 
Caso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoCaso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoYamil Lambert
 
Tics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosTics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosYamil Lambert
 
Caso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertCaso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertYamil Lambert
 
Apa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertApa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertYamil Lambert
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Yamil Lambert
 
Políticas del curso UCSG
Políticas del curso UCSGPolíticas del curso UCSG
Políticas del curso UCSGYamil Lambert
 
Internet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoInternet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoYamil Lambert
 
GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014Yamil Lambert
 
Adobe Captivate Multimedia
Adobe Captivate MultimediaAdobe Captivate Multimedia
Adobe Captivate MultimediaYamil Lambert
 

Más de Yamil Lambert (20)

QR, RA y Realidad Virtual
QR, RA y Realidad VirtualQR, RA y Realidad Virtual
QR, RA y Realidad Virtual
 
Arte ASCII
Arte ASCIIArte ASCII
Arte ASCII
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Presentación Yamil Lambert Sarango
Presentación Yamil Lambert SarangoPresentación Yamil Lambert Sarango
Presentación Yamil Lambert Sarango
 
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...El rol de los nuevos medios y las tecnologías digitales  en el arte contempor...
El rol de los nuevos medios y las tecnologías digitales en el arte contempor...
 
Prácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAHPrácticas pre profesionales UCSG FAH
Prácticas pre profesionales UCSG FAH
 
Drones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert SarangoDrones o UAV por Yamil Lambert Sarango
Drones o UAV por Yamil Lambert Sarango
 
Hardware de un smartphone Procesadores
Hardware de un smartphone ProcesadoresHardware de un smartphone Procesadores
Hardware de un smartphone Procesadores
 
Datos Inec Intenret, Smartphone con CMS - Ecuador
Datos Inec Intenret, Smartphone con CMS  - EcuadorDatos Inec Intenret, Smartphone con CMS  - Ecuador
Datos Inec Intenret, Smartphone con CMS - Ecuador
 
Joomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLSJoomla Tipos elementos Menú by YLS
Joomla Tipos elementos Menú by YLS
 
Search engine optimization SEO
Search engine optimization SEOSearch engine optimization SEO
Search engine optimization SEO
 
Caso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert SarangoCaso de estudio top Blog Tech por Yamil Lambert Sarango
Caso de estudio top Blog Tech por Yamil Lambert Sarango
 
Tics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativosTics, internet, Educación y sistemas colaborativos
Tics, internet, Educación y sistemas colaborativos
 
Caso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil LambertCaso de estudio Xataka by Yamil Lambert
Caso de estudio Xataka by Yamil Lambert
 
Apa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil LambertApa 6ta edicion por MSc. Yamil Lambert
Apa 6ta edicion por MSc. Yamil Lambert
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
 
Políticas del curso UCSG
Políticas del curso UCSGPolíticas del curso UCSG
Políticas del curso UCSG
 
Internet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert SarangoInternet historia en imágenes por Yamil Lambert Sarango
Internet historia en imágenes por Yamil Lambert Sarango
 
GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014GuayasTech : Videojuegos indie Ecuador 2014
GuayasTech : Videojuegos indie Ecuador 2014
 
Adobe Captivate Multimedia
Adobe Captivate MultimediaAdobe Captivate Multimedia
Adobe Captivate Multimedia
 

Último

MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroJosé Luis Palma
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdfrevelesyessica91
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Bergarako Udala
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 

Último (20)

MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general Alfaro
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
✨☀🛰LOS_ECLIPSES_Y_EL_SISTEMA_SOLAR_🚀☄CUADERNILLO_DE_ACTIVIDADES🌌Esmeralda.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024
 
Unidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la InvestigaciónUnidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la Investigación
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
Unidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIUUnidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIU
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024Act#25 TDLab. Eclipse Solar 08/abril/2024
Act#25 TDLab. Eclipse Solar 08/abril/2024
 

JQquery Mobile por Yamil Lambert

  • 2. ylambert@espol.edu.ec Lección: jQuery • Introducción • Características • Requisitos • Compatibilidad
  • 4. ylambert@espol.edu.ec Para todas las plataformas 1 código base
  • 11. ylambert@espol.edu.ec Introducción Una alternativa a jQuery. De hecho jQuery Mobile utiliza a jQuery. Un SDK/compilador para apps Un framework para trabajar en JavaScript. De repente en cuestiones avanzadas podremos utilizarla. La solución para todo ¿ Qué no es jQuery Mobile ?
  • 12. ylambert@espol.edu.ec Introducción Un framework de interfaz de usuario multi- plataforma que permite crear webapps y Apps para teléfonos y tabletas táctiles. ¿ Qué es jQuery Mobile ? ¿Qué es una Webapps ? Un sitio web o servicio en el navegador. Una aplicación a pantalla completa instalada. Una aplicación híbrido/nativa en tiendas utilizando Phonegap.
  • 13. ylambert@espol.edu.ec Introducción Docenas de plataformas distintas (iOS, Android, Windows Phone, Blackberry, Symbian, WebOS, Bada, etc.). Al menos 40 navegadores distintos. Ser multi-plataforma es clave para el éxito. La compatibilidad de HTML5 no es boolean ¿ Por qué jQuery Mobile ?
  • 14. ylambert@espol.edu.ec Características – Código HTML5 no intrusivo – Código abierto – Liviano – Multiplataforma usando mejora progresiva – Soporte de accesibilidad – Personalizable – Soporte de la comunidad – Incluye API de JavaScript
  • 15. ylambert@espol.edu.ec Requisitos – HTML 5 – CSS 3 – JavaScript – jQuery Necesitas saber Lo que necesitas – Un editor de texto – Un navegador HTML5 para probar – ¿Y el framework? (Incluso es posible prescindir del mismo) – ¿Y compiladores nativos? (Puede ser en la nube ó utilizar Phonegap) – ¿Y simuladores y emuladores? (Para probar como se ve la Apps)
  • 16. ylambert@espol.edu.ec Compatibilidad – iOS (iPhone - iPad) – Android ( Desde la versión 1.5 ) – BlackBerry ( Desde la versión 5 en adelante y la versión de tablet la Playbook ) – Nokia (Symbian, touch, symbian3, symbian3-anna, symbian belle, MeeGo OS 1.1 y 1.2( Phone N9 )) – webOS ( Hewlett-Packard para sus versiones de teléfonos y tabletas) – Windows Phone ( Desde la versión Mango 7.5 que incluye ahora a los Nokia) – Opera, Firefox (Navegadores) – Bada (OS y navegador de Samsung), Kindle (Que posee Amazon en sus distintas versiones para leer libros inclusive la Kindle Fire que es la tableta de Amazon)
  • 17. ylambert@espol.edu.ec Compatibilidad Calidad Alta Un navegador que es capaz de, como mínimo, la utilización de jQuery Mobile. Calidad Media Un navegador capaz que no tiene cuota de mercado suficiente como para justificar el día a día de pruebas. Calidad Baja Un navegador que no es capaz de utilizar jQuery mobile. No se proporcionará ningún script jQuery Mobile o CSS (cayendo de nuevo a la versión HTML y CSS). Android Browser Safari Web Browser BlackBerry Browser Internet Explorer
  • 18. ylambert@espol.edu.ec Framework – 1/2 Un archivo JavaScript y CSS base Un archivo JavaScript y Css por componente Un grupo de imágenes (representan íconos del framework) Los archivos JavaScript y Css los encontramos en dos formas:  versión comprimida para producción  versión sin compresión para desarrollo Necesitamos el framework de jQuery.
  • 19. ylambert@espol.edu.ec Framework – 2/2 – Alojamiento propio • Lo descargamos de http://jquerymobile.com/download/ y lo ponemos en nuestro servidores es decir en nuestra carpeta de proyecto. – CDN - versión estable ó versión desarrollo (cambia día a día) • Content Delivery Networks-Redes de distribución de contenidos. Esto significa dejar alojadas en otro servidor las librerías e imágenes de jQuery. • En ese caso Jquery posee un servidor donde podemos apuntar la descarga del javascript y el css. • También Microsoft ofrece una versión de CDN para jQuery Mobile. • La ventaja de usar CDN es que no tenemos que descargar nada y podemos comenzar a probar jQuery en segundos. • Otra ventaja que es utiliza cache compartido en el Browser. • Desventaja del CDN es que necesitamos Internet y que tenemos que confiar en el CDN porque si este no funciona nuestra Apps tampoco funcionará.
  • 20. ylambert@espol.edu.ec • Comenzando a trabajar • Estructura • Roles • Temas • Botones • Páginas Internas y Externas • Links Absolutos • Transiciones • Íconos personalizados
  • 21. ylambert@espol.edu.ec Comenzando a trabajar – Versión estable • http://jquerymobile.com/download/ Descargar jQuery Mobile Descargar jQuery Core – Versión estable 1.6.4 • http://docs.jquery.com/Downloading_jQuery
  • 22. ylambert@espol.edu.ec Estructura – 1. HTML5 Doctype – 2. jQuery Mobile CSS – 3. jQuery Core JS – 4. jQuery Mobile JS <!doctype html> <html> <head> <link rel="stylesheet" href="jquery.mobile.css"/> <script src="jquery.js"></script> <script src="jquery.mobile.js"></script> </head> <body> </body> </html>
  • 23. ylambert@espol.edu.ec Roles – jQuery Mobile usa un atributo HTML llamado data-role para asociar un elemento con un widget. Por ejemplo: • data-role="page" • data-role="header“ • data-role=“content“ • data-role="footer" • data-role="navbar" • data-role="button" • data-role="listview" • data-role="controlgroup"
  • 24. ylambert@espol.edu.ec Data-role = page <div data-role="page“ > <!--/ContenidodelapaginajQuerymobile--> </div>
  • 25. ylambert@espol.edu.ec Más roles < body> <div data-role="page“ > <div data-role="header"> </div> <div data-role="content"> </div> <div data-role="footer"> </div> </div> < body> Page Header Content Footer
  • 26. ylambert@espol.edu.ec Demostración 1 < body> <div data-role="page"> <div data-role="header"> <h1>jQuery mobile</h1> </div> <div data-role="content"> <p> Este es un texto dentro de una página</p> </div> <div data-role="footer"> <h4>www.jquerymobile.com</h4> </div> </div> < body>  Uso de roles
  • 27. ylambert@espol.edu.ec Temas – jQuery Mobile viene con muchos esquemas de color los cuales pueden ser controlados usando el atributo data-theme. – Se puede especificar data-theme en una página, toolbar, botones, etc. – Intenta especificar data-theme=a,b,c,d,e y f. <div data-role="page“ data-theme="e"> <div data-role="header“data-theme=“c"> <h1>jQuery mobile</h1> </div> <div data-role="footer“data-theme=“b"> <h4>www.jquerymobile.com</h4> </div> </div>
  • 29. ylambert@espol.edu.ec Demostración 2 < body> <div data-role="page“ data-theme="e"> <div data-role="header“ data-theme=“c"> <h1>jQuery mobile</h1> </div> <div data-role="content"> <p> Este es un texto dentro de una página</p> </div> <div data-role="footer“ data-theme=“b"> <h4>www.jquerymobile.com</h4> </div> </div> < body>  Uso de Temas
  • 30. ylambert@espol.edu.ec Botones – Se puede crear un botón agregando data-role="button" a una etiqueta botón. – button tag, un tag, o input type=submit|button|reset|image. – Se puede agregar un ícono en el botón usando data-icon="icon-name". – Por defecto el ícono va a la derecha pero se puede cambiar especificando data-iconpos.
  • 31. ylambert@espol.edu.ec Demostración 3 <div data-role="page“ data-theme=“b"> <div data-role="header" data-theme="e"> <h1>Botones</h1> </div> <div data-role="content"> <a href="#" data-role="button" data- theme="d">Aceptar</a> <a href="#" data-role="button" data- theme="a">Cancelar</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Botones
  • 32. ylambert@espol.edu.ec Demostración 4 <div data-role="page“ data-theme=“b"> <div data-role="header" data-theme="e"> <h1>Botones</h1> </div> <div data-role="content"> <a href="#" data-role="button" data- theme="d“ data-inline="true">Aceptar</a> <a href="#" data-role="button" data- theme="a“ data-inline="true">Cancelar</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Botones
  • 33. ylambert@espol.edu.ec Páginas Internas – Aprenderemos a generar documentos multipágina y a vincularla entre ellas de manera automática. <div data-role="page“ data-theme=“b“ id="pagina1"> ........ <div data-role="content"> <a href="#pagina2" data-role="button" data-theme="d“ >Ir a página 2</a> </div> </div> <div data-role="page" data-theme="b" id="pagina2" data-add-back-btn="true"> ......... <div data-role="content"> <p>Esta es la segunda página</p> <p><a href="#pagina1" data-rel="back">Volver</a></p> </div> ------ Página 2 ------
  • 34. ylambert@espol.edu.ec Demostración 5 <div data-role="page" data-theme="b" id="pagina1"> <div data-role="header" data-theme="e"> <h1>Página Interna</h1> </div> <div data-role="content"> <a href="#pagina2" data-role="button">Ir hacia página 2</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Páginas Internas – 1/2
  • 35. ylambert@espol.edu.ec Demostración 5 <div data-role="page" data-theme="b" id="pagina2" data-add-back-btn="true"> <div data-role="header" data-theme="e"> <h1>Segunda Página</h1> </div> <div data-role="content"> <p>Esta es la segunda página</p> <p><a href="#pagina1" data- rel="back">Volver</a></p> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Páginas Internas – 2/2
  • 36. ylambert@espol.edu.ec Páginas Externas – Cada vez que cargamos un nuevo documento HTML jQuery lo hace a través de AJAX. <div data-role="page“ data-theme=“b“ > ........ <div data-role="content"> <a href=“pagina2.html" data-role="button" data-theme="d“ >Ir a página externa</a> </div> </div> <div data-role="page" data-theme="b“ > ......... <div data-role="content"> <p>Yo soy otro documento HTML</p> </div> pagina2.html
  • 37. ylambert@espol.edu.ec Demostración 6 <div data-role="page" data-theme="b“ > <div data-role="header" data-theme="e"> <h1>Página Externa</h1> </div> <div data-role="content"> <a href="demo6_pagexterna2.html" data- role="button">Ir página externa</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Páginas Externas – 1/2
  • 38. ylambert@espol.edu.ec Demostración 6 <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>Página Externa</h1> </div> <div data-role="content"> Yo soy otro documento HTML</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Páginas Externas – 2/2
  • 39. ylambert@espol.edu.ec Links Absoluto – Creamos vínculos a sitios web que están fuera de nuestro entorno (Internet) y que no son documentos jQuery. <div data-role="page“ data-theme=“b“ > ........ <div data-role="content"> <a href=“http://www.google.com.ec" data-role="button" data-theme="d“ rel=“external” >Ir a web absoluta</a> </div> </div>
  • 40. ylambert@espol.edu.ec Demostración 7 <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>Link Absoluto</h1> </div> <div data-role="content"> <a href="http://www.google.com.ec" data- role="button" rel="external">Ir a web Absoluta</a> <a href="mailto:info@aprendo.net" data-role="button" >Email</a> <a href="tel:12345678" data- role="button">Llamar</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de Links Absoluto
  • 41. ylambert@espol.edu.ec Laboratorio 1 Uso de páginas internas, externas y Links Absoluto • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo. Página Interna Página Externa Link absoluto externo
  • 42. ylambert@espol.edu.ec Transiciones – 1/2 – slide • Deslice de derecha a izquierda(default) – slideup • Deslice desde el fondo hasta la parte superior – slidedown • Deslice de la parte superior al fondo
  • 43. ylambert@espol.edu.ec Transiciones – 2/2 – pop • La nueva página crecerá a partir de un pequeño punto en medio de una página a pantalla completa. – fade • Una animación de fundido cruzando entre las páginas viejas y nuevas. – flip • Voltear la página de la vieja a la nueva
  • 44. ylambert@espol.edu.ec Demostración 8 <div data-role="page" data-theme="b" id="pagina1"> <div data-role="header" data-theme="e"> <h1>Transiciones</h1> </div> <div data-role="content"> <a href="#pagina2" data-role="button" data-transition="slide">Slide</a> <a href="#pagina2" data-role="button" data-transition="slideup">Slide up</a> <a href="#pagina2" data-role="button" data-transition="slidedown">Slide down</a> <a href="#pagina2" data-role="button" data-transition="pop">Pop</a> <a href="#pagina2" data-role="button" data-transition="fade">Fade</a> <a href="#pagina2" data-role="button" data-transition="flip">Flip</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>  Uso de transiciones
  • 45. ylambert@espol.edu.ec Cuadros de Diálogo – Cualquier página válida de jQuery mobile también se puede mostrar como un cuadro de diálogo, simplemente añadiendo el atributo data-rel = "dialog“ en el enlace. <div data-role="content" class="content"> <p>First page!</p> <p><a href="#page2" data-rel="dialog">Open page 2 as a dialog</a></p> </div>
  • 46. ylambert@espol.edu.ec Demostración 9 – 1/2  Uso de Cuadros de Diálogo <div data-role="page" data-theme="b" id="pagina1"> <div data-role="header" data-theme="e"> <h1>Diálogo</h1> </div> <div data-role="content"> <p> Estas por eliminar algo importante </p> <a href="#confirmacion" data-role="button" data- rel="dialog">Eliminar</a> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>
  • 47. ylambert@espol.edu.ec Demostración 9 – 2/2  Uso de Cuadros de Diálogo <div data-role="page" data-theme="b" id="confirmacion" > <div data-role="header" data-theme="e"> <h1>Eliminar</h1> </div> <div data-role="content"> <a href="#pagina1" data-role="button" data- direction="reverse">Si, eliminar</a> <a href="#pagina1" data-role="button" data- direction="reverse">No</a> </div> </div>
  • 48. ylambert@espol.edu.ec Laboratorio 2 Uso de transiciones • El trabajo será calificado y es individual. • Tiempo: 5 minutos para realizar el trabajo. Slide Up Pop
  • 49. ylambert@espol.edu.ec Toolbars - Botones en el header – Podemos personalizar el encabezado con botones de acción, simplemente añadiendo la etiqueta <a href="#page2“ > Link </a> en la cabecera. <div data-role="header" data-theme="e"> <h1>jQuery Mobile</h1> <a href="#page2“>Link</a> </div>
  • 50. ylambert@espol.edu.ec Demostración 10  Uso de botones en la cabecera <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>jQuery Mobile</h1> <a href="#pagina2" data-theme="a">Cancelar</a> <a href="#pagina2" data-role="none">Grabar</a> </div> <div data-role="content"> <p>Esto es un texto dentro de una página</p> </div> <div data-role="footer" data-theme="b"> <h4>(C) Ylambert2015</h4> </div> </div>
  • 51. ylambert@espol.edu.ec Toolbars - Botones en el footer – Podemos personalizar el pie con botones de acción, simplemente añadiendo la etiqueta <a href=“#“ > Link </a> en el pie. <div data-role=“footer" data-theme="e“ class="ui-bar"> <a href=“#“>Agregar</a> <a href=“#“>Eliminar</a> <a href=“#“>Refrescar</a> </div>
  • 52. ylambert@espol.edu.ec Demostración 11  Uso de botones en el pie <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>jQuery Mobile</h1> <a href="#pagina2" data-theme="a">Cancelar</a> <a href="#pagina2" data-role="none">Grabar</a> </div> <div data-role="content"> <p>Esto es un texto dentro de una página</p> </div> <div data-role="footer" data-theme="b“ class="ui-bar" > <a href="#" data-theme="e">Agregar</a> <a href="#">Eliminar</a> <a href="#" >Refrescar</a> </div> </div>
  • 53. ylambert@espol.edu.ec Toolbars – Iconos en Botones – 1/2 – A menudo se necesita iconos en los botones, y jQuery Mobile viene con una variedad de íconos. – También puede controlar la posición del ícono. Para especificar el icono de un botón, se aplica el atributo data- icon. El atributo de data-icon tiene los siguientes valores válidos:
  • 54. ylambert@espol.edu.ec Toolbars – Iconos en Botones – 2/2 – Puede especificar la posición del ícono con el atributo data-iconpos. Los valores válidos se muestran en la siguiente Tabla.
  • 55. ylambert@espol.edu.ec Demostración 12  Uso de íconos en botones y control de agrupación <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>jQuery Mobile</h1> <a href="#pagina2" data-theme="a">Cancelar</a> <a href="#pagina2" data-role="none">Grabar</a> </div> <div data-role="content"> <p>Esto es un texto dentro de una página</p> </div> <div data-role="footer" data-theme="b“ class="ui-bar" > <div data-role="controlgroup" data-type="horizontal"> <a href="#" data-icon="plus">Agregar</a> <a href="#" data-icon="delete">Eliminar</a> <a href="#" data-icon="refresh">Refrescar</a> </div> </div> </div>
  • 56. ylambert@espol.edu.ec Demostración 13  Uso de íconos personalizados en botones <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>Botones</h1> <a href="#pagina2" data-theme="a" >Cancelar</a> <a href="#pagina2" data-role="none">Grabar</a> </div> <div data-role="content"> <p>Ícono en botones en diferentes posiciones</p> <div data-role="controlgroup" data-type="vertical"> <a href="#" data-icon="check" data-role="button" data- theme="d" data-iconpos="top">Aceptar</a> <a href="#" data-icon="plus" data-role="button" data- theme="d">Ayuda</a> <a href="#" data-icon="delete" data-role="button" data-theme="d" data- iconpos="bottom">Cancelar</a> <a href="#" data-icon="info" data-role="button" data-theme="d" data- iconpos="right">Información</a> <a href="#" data-icon="star" data-role="button" data-theme="d" data- iconpos="notext">Inicio</a> </div> </div> <div data-role="footer" data-theme="b“ > <h1>jQuery Mobile</h1> </div> </div>
  • 57. ylambert@espol.edu.ec Toolbars – Iconos personalizados en botones – A menudo se necesita iconos personalizados para nuestras aplicaciones para lo cual debemos hacer lo siguiente: 1. Crear un nuevo estilo. Ejemplo <style type="text/css"> .ui-icon-myapp-reloj { background-image: url(images/reloj.png); } </style> 2. Aplicar el nuevo estilo. Ejemplo <a href="#" data-icon="myapp-reloj">Hora</a>
  • 58. ylambert@espol.edu.ec Demostración 14  Uso de íconos personalizados en botones <div data-role="page" data-theme="b" > <div data-role="header" data-theme="e"> <h1>jQuery Mobile</h1> </div> <div data-role="content"> <p>Esto es un texto dentro de una página</p> </div> <div data-role="footer" data-theme="b“ class="ui-bar”> <div data-role="controlgroup" data- type="horizontal"> <a href="#" data-icon="myapp-reloj">Hora</a> <a href="#" data-icon="myapp-correo">Email</a> </div> </div> </div> <style type="text/css"> .ui-icon-myapp-reloj { background-image: url(images/reloj.png); } .ui-icon-myapp-correo { background-image: url(images/mail.png); } </style>
  • 59. ylambert@espol.edu.ec Laboratorio 3 Uso de íconos personalizados en botones • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo. Íconos personalizados En botones - Footer
  • 60. ylambert@espol.edu.ec Lección: jQuery • Encabezado y pie - Posicionamiento • Barras de Navegación • Pie de página persistente • Contenido colapsable • Acordeón • Columnas • Laboratorios
  • 61. ylambert@espol.edu.ec Encabezado-pie y posicionamiento – 1/2 – Crearemos barras de herramientas fijas y experiencias a pantalla completa. – El Posicionamiento de las barras de herramientas debe estar dado, los encabezados en la parte superior y los pie de página en la parte inferior. – Para pantalla completa utilizaremos el atributo data-fullscreen=”true”. – Para fijar el encabezado y el pie en la pantalla utilizaremos el atributo data- position=”fixed”. <div data-role="page" data-theme="b" data-fullscreen="true" > <div data-role="header" data-theme="e" data-position="fixed"></div> <div data-role="footer" data-theme="b" class="ui-bar" data- position="fixed"></div> </div>
  • 63. ylambert@espol.edu.ec Demostración 15 <div data-role="page" data-theme="b" data- fullscreen="true" > <div data-role="header" data-theme="e" data- position="fixed"> <h1>jQuery Mobile</h1> <a href="#pagina2" data-theme="a" >Cancelar</a> <a href="#pagina2" >Comenzar</a></div> <div data-role="content"> <p>La presente tiene como finalidad .......... <div data-role="footer" data-theme="b" class="ui-bar" data-position="fixed"> <a href="#" data-icon="plus">Agregar</a> <a href="#" data-icon="delete">Eliminar</a> <a href="#" >Refrescar</a> </div> </div>  Uso de posicionamiento fijo y pantalla completa
  • 64. ylambert@espol.edu.ec Barras de Navegación – 1/3 – Una barra de navegación (también conocido como navbar) es un conjunto de enlaces que pueden ser colocados en una barra de herramientas, por lo general un pie de página, que se combinan para crear una serie de opciones exclusivas. – La idea de una la barra de navegación es la de actuar como un método de navegación principal de nuestra aplicación web. – En algunas plataformas formas, tales como iOS o Nokia, esta barra de navegación también se llama una barra de pestañas. – La barra de navegación soporta hasta cinco elementos en la misma línea.
  • 65. ylambert@espol.edu.ec Barras de Navegación – 2/3 Aquí podemos ver una barra de navegación dentro de un encabezado y un pie de página
  • 66. ylambert@espol.edu.ec Barras de Navegación – 3/3 Aquí podemos ver una barra de navegación con el primer botón activo <div data-role="header" data-theme="b"> <h1>jQuery Mobile</h1> <div data-role="navbar" > <ul> <li><a href="#" class="ui-btn-active">Primer</a> <li><a href="#">Segundo</a> <li><a href="#">Tercero</a> <li><a href="#">Cuarto</a> </ul> </div> </div>
  • 67. ylambert@espol.edu.ec Demostración 16 <div data-role="header" data-theme="b" data-position="fixed"> <h1>jQuery Mobile</h1> <div data-role="navbar" > <ul> <li><a href="#" class="ui-btn-active">Primer</a> <li><a href="#">Segundo</a> <li><a href="#">Tercero</a> <li><a href="#">Cuarto</a> </ul> </div> </div> <div data-role="content">Escribir.......</div> <div data-role="footer" data-theme="b" data-position="fixed"> <div data-role="navbar" > <ul> Lo mismo que la cabececa …………………………….. </div>  Uso de Barra de navegación
  • 68. ylambert@espol.edu.ec Demostración 17 <div data-role="header" data-theme="b" data-position="fixed"> <h1>jQuery Mobile</h1> <div data-role="navbar" > <ul> <li><a href="#" class="ui-btn-active">Primer</a> <li><a href="#">Segundo</a> <li><a href="#">Tercero</a> <li><a href="#">Cuarto</a> </ul> </div> </div> <div data-role="content">Escribir.......</div> <div data-role="footer" data-theme="b" data-position="fixed"> <h1>Uso de botones com íconos</h1> </div>  Uso de Barra de navegación con íconos
  • 69. ylambert@espol.edu.ec Pie de página persistente– 1/3 – Mientras pensaba en NavBars, entiendo que si cambiamos de un documento a otro, un nuevo pie de página aparecerá eliminando el actual. – Para resolver este problema y muchos otros, puede usar un pie de página persistentes . – Para hacer una barra de herramientas de persistencia, es necesario definir una identificación data-id para un pie de página fija para todas las páginas donde queremos tener el mismo pie de página. <div data-role="footer" data-id="main" position="fixed">
  • 70. ylambert@espol.edu.ec Pie de página persistente– 2/3 El uso de pie de página persistentes
  • 71. ylambert@espol.edu.ec Demostración 18 – 1/3  Uso de pie de página persistente
  • 72. ylambert@espol.edu.ec Demostración 18 – 2/3  Uso de pie de página persistente <div data-role="page" data-theme="b" id="home1"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>jQuery Mobile</h1> </div> <div data-role="content"> <h2>HOME</h2> <p>La presente tien………… <a href="#contacts1" data-role="button">Ir a Contacts</a> </div> <div data-role="footer" data-theme="b" data-position="fixed" data-id="pie1"> <div data-role="navbar" > <ul> <li><a href="#" class="ui-btn-active" data-icon="star">Home</a> <li><a href="#" data-icon="gear">Contacts</a> <li><a href="#" data-icon="info">Events</a> <li><a href="#" data-icon="grid">News</a> </ul> </div></div>
  • 73. ylambert@espol.edu.ec Demostración 18 – 3/3  Uso de pie de página persistente <div data-role="page" id="contacts1"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>jQuery Mobile</h1> </div> <div data-role="content"> Contenido </div> <div data-role="footer" data-theme="b" data-position="fixed" data-id="pie1"> <div data-role="navbar" > <ul> <li><a href="#home1" class="ui-btn-active" data-icon="star">Home</a> <li><a href="#" data-icon="gear">Contacts</a> <li><a href="#" data-icon="info">Events</a> <li><a href="#" data-icon="grid">News</a> </ul> </div></div>
  • 74. ylambert@espol.edu.ec Laboratorio 4 Uso de NavBar y pie persistentes • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo. Páginas Internas Páginas Externas
  • 75. ylambert@espol.edu.ec Contenido colapsable– 1/3 – Recuerde que estamos apuntando a los dispositivos móviles. En los dispositivos móviles, el espacio es muy limitado. – Eso es cuando el contenido plegable viene muy bien. El contenido plegable se puede ocultar y se puede mostrar por JavaScript después de tocar un título o un botón. – Para crear contenido plegable, sólo tenemos que definir un contenedor con data-role="collapsible". – Para que el contenido siempre este abierto utilizamos data- collapsed="false" <div data-role="content"> <div data-role="collapsible“data-collapsed="false">
  • 76. ylambert@espol.edu.ec Contenido colapsable– 2/3 Los paneles plegables son una buena manera de mostrar gran cantidad de información en la misma página, dando al usuario la posibilidad de cerrar y abrir
  • 77. ylambert@espol.edu.ec Demostración 19 – 3/3  Uso de contenido colapsable <div data-role="page”> <div data-role="header“> <h1>Colapsable</h1> </div> <div data-role="content"> <div data-role="collapsible“ data-collapsed="false"> <h2>Tecnología</h2> <p>La red de "m……………….</p> </div> <div data-role="collapsible"> <h2>Entretenimiento</h2> <p>La Conferencia……………….</p> </div> </div> <div data-role="footer“ > <h4>www.jquerymobile.com</h4> </div>
  • 78. ylambert@espol.edu.ec Acordeón – 1/3 – Hay otro comportamiento típico de aplicaciones de Internet relacionados al contenido colapsable. – El acordeón: Esto le permite agrupar el contenido plegable para que sólo un panel de puede ser visible a la vez. Por lo tanto, al ver un panel, todos los demás están cerrados. – Es decir, un contenedor con data-role="collapsible-set" y un grupo de paneles plegables como hijos. <div data-role="content"> <div data-role="collapsible-set”> <div data-role="collapsible“data-collapsed="false">
  • 79. ylambert@espol.edu.ec Acordeón – 2/3 Un control de acordeón ricos se pueden crear utilizando un conjunto de paneles plegables, un panel visible a la vez.
  • 80. ylambert@espol.edu.ec Demostración 20 – 3/3  Uso de Acordeón <div data-role="page”> <div data-role="header“> <h1>Colapsable Set</h1> </div> <div data-role="content"> <div data-role="collapsible-set"> <div data-role="collapsible“ data-collapsed="false"> <h2>Tecnología</h2> <p>La red de "m……………….</p> </div> <div data-role="collapsible"> <h2>Entretenimiento</h2> <p>La Conferencia……………….</p> </div> </div> </div> <div data-role="footer“ > <h4>www.jquerymobile.com</h4> </div>
  • 81. ylambert@espol.edu.ec Laboratorio 5 Uso de contenido colapsable y Acordeón • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo. Acordeón
  • 82. ylambert@espol.edu.ec Columnas – 1/4 – jQuery Mobile nos ofrece unas plantillas para definir el contenido que se muestra en columnas, llamadas rejillas de diseño. – Estas redes actúan como una tabla sin el problema semántico de la utilización de tabla (por favor, no utilice la tabla para nada, además de los datos tabulares). – Para crear una cuadrícula, sólo tiene que utilizar un contenedor de bloque, por lo general un div con una clase de ui-grid-a para dos columnas, ui-grid-b para tres columnas, ui-grid-c para cuatro columnas, ui- grid-d para cinco columnas. – Cada celda debe ser un contenedor de bloque usando ui-block-<letra> con <letra> siendo de A a D donde A representa la primera y D la quinta columna de la cuadrícula.
  • 83. ylambert@espol.edu.ec Columnas – 2/4 <div data-role="content"> <div class="ui-grid-a"> <div class="ui-block-a">Column 1</div> <div class="ui-block-b">Column 2</div> </div> </div> <div data-role="content"> <div class="ui-grid-b"> <!-- Row 1 --> <div class="ui-block-a">Cell 1.1</div> <div class="ui-block-b">Cell 1.2</div> <div class="ui-block-c">Cell 1.3</div> <!-- Row 2 --> <div class="ui-block-a">Cell 2.1</div> <div class="ui-block-b">Cell 2.2</div> <div class="ui-block-c">Cell 2.3</div> </div> </div>
  • 84. ylambert@espol.edu.ec Demostración 21 – 3/4  Uso de Columnas <div data-role="header"> <h1>Columnas</h1> <div data-role="navbar"> <ul> <li><a href="#pag1">Dos Columnas</a> <li><a href="#pag2">Tres Columnas</a> </ul> </div> </div> <div data-role="content"> <h2>Dos columnas y una fila</h2> <div class="ui-grid-a"> <div class="ui-block-a">Columna 1</div> <div class="ui-block-b">Columna 2</div> </div> </div> <div data-role="footer“ data-position="fixed" data-id="pie1" > <h4>www.jquerymobile.com</h4> </div>
  • 85. ylambert@espol.edu.ec Demostración 21 – 4/4  Uso de Columnas <div data-role="page" data-theme="e" id="pag2"> <div data-role="header"> <h1>Columnas</h1> <div data-role="navbar"> <ul> <li><a href="#pag1">Dos Columnas</a> <li><a href="#pag2">Tres Columnas</a> </ul> </div> </div> <div data-role="content"> <h2>Tres columnas y dos filas</h2> <div class="ui-grid-b"> <!--Fila 1 --> <div class="ui-block-a">Col 1.1</div> <div class="ui-block-b">Col 1.2</div> <div class="ui-block-c">Col 1.3</div> <!--Fila 2 --> <div class="ui-block-a">Col 2.1</div> <div class="ui-block-b">Col 2.2</div> <div class="ui-block-c">Col 2.3</div> </div> </div>
  • 86. ylambert@espol.edu.ec Demostración 22 – 1/2  Uso de Columnas <div data-role="header"> <h1>Columnas</h1> <div data-role="navbar"> <ul> <li><a href="#pag1">Dos Columnas</a> <li><a href="#pag2">Tres Columnas</a> </ul> </div> </div> <div data-role="content"> <h2>Dos columnas y una fila</h2> <div class="ui-grid-a"> <div class="ui-block-a"><p class="marco">Columna1</p></div> <div class="ui-block-b"> <p class="marco"> Columna 2 </p> </div> </div> </div> <div data-role="footer“ data-position="fixed" data-id="pie1" > <h4>www.jquerymobile.com</h4> </div> <style type="text/css"> .marco { background-color: #CCC; height: 50px; margin: 0px; border: thin solid #03C; } </style>
  • 87. ylambert@espol.edu.ec Demostración 22 – 2/2  Uso de Columnas <div data-role="page" data-theme="e" id="pag2"> <div data-role="header"> <h1>Columnas</h1> <div data-role="navbar"> <ul> <li><a href="#pag1">Dos Columnas</a> <li><a href="#pag2">Tres Columnas</a> </ul> </div> </div> <div data-role="content"> <h2>Tres columnas y dos filas</h2> <div class="ui-grid-b"> <!--Fila 1 --> <div class="ui-block-a"> <p class="marco"> Col 1.1</p></div> <div class="ui-block-b"> <p class="marco"> Col 1.2</p></div> <div class="ui-block-c"> <p class="marco"> Col 1.3</p></div> <!--Fila 2 --> <div class="ui-block-a"> <p class="marco"> Col 2.1</p></div> <div class="ui-block-b"> <p class="marco"> Col 2.2</p></div> <div class="ui-block-c"> <p class="marco"> Col 2.3</p></div> </div> </div>
  • 88. ylambert@espol.edu.ec Laboratorio 6 – 1/2 Uso de columnas – Cuadrículas • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo.
  • 89. ylambert@espol.edu.ec Laboratorio 6 – 2/2 Uso de columnas – Cuadrículas • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo.
  • 90. ylambert@espol.edu.ec Lección: jQuery - Listas • Definición • Listas con recuadro • Listas interactivas • Listas anidadas • Divisores de listas • Listas con botones dobles • Imágenes • Contador de burbujas • Laboratorios
  • 91. ylambert@espol.edu.ec Listas – 1/3 – Las listas son un componente de interfaz de usuario muy popular porque hacen que la experiencia en la navegación sea simple y eficiente. – jQuery móvil puede generar listas con formato visual que son muy similares a los estilos visto en las aplicaciones nativas. – jQuery Móvil puede mejorar la lista ya sea ordenada o desordenada. Sólo se aplican data-role = “listview" a una lista, y jQuery Móvil se encargará del resto. <h3>Unordered List</h3> <ul data-role="listview"> <li>Item</li> <li>Item</li> <li>Item</li> </ul> <h3>Ordered List</h3> <ol data-role="listview"> <li>Item</li> <li>Item</li> <li>Item</li> </ol>
  • 93. ylambert@espol.edu.ec Demostración 23 – 3/3 <div data-role="content"> <h2 align="center">Cursos</h2> <ul data-role="listview"> <li>jQuery Mobile <li>Dreamweaver <li>Fireworks <li>jQuery </ul> <h2 align="center">Cursos</h2> <ol data-role="listview"> <li>jQuery Mobile <li>Dreamweaver <li>Fireworks <li>jQuery </ol> </div>  Uso de listas
  • 94. ylambert@espol.edu.ec Listas página completa Vs listas recuadro – 1/3 – Por defecto, las listas están en un modo de página completa. Eso significa que el contenido de la lista cubre toda la página, como se muestra a continuación:
  • 95. ylambert@espol.edu.ec Listas con recuadro – 2/3 – En una “lista con recuadro” no aparecerá el recuadro de borde a borde. En su lugar, una lista de inserción que se ajusta automáticamente dentro de un bloque con esquinas redondeadas y tiene márgenes establecidos para el espacio adicional. – Permite tener contenido antes y después. – Para definirlas, sólo tiene que añadir los data-inset= "true" a los elementos UL como OL. <ol data-role="listview" data-inset="true"> <!-- item rows --> </ol>
  • 96. ylambert@espol.edu.ec Demostración 24 – 3/3 <div data-role="content"> <h2 align="center">Cursos</h2> <ul data-role="listview“ data-inset="true" > <li>jQuery Mobile <li>Dreamweaver <li>Fireworks <li>jQuery </ul> <h2 align="center">Cursos</h2> <ol data-role="listview“ data-inset="true" > <li>jQuery Mobile <li>Dreamweaver <li>Fireworks <li>jQuery </ol> </div>  Uso de listas con recuadros
  • 97. ylambert@espol.edu.ec Listas Interactivas – 1/4 – De forma predeterminada, los elementos de vista de lista no tienen propiedades interactivas. – Un uso común es hacer que los elementos de la lista serán botones de hacer tapping. – Para hacer esto con jQuery Mobile, usted tiene que incluir las etiquetas de anclaje en el elemento de la lista. <h3>Unordered List</h3> <ul data-role="listview"> <li><a href="#">Item</a></li> <li><a href="#">Item</a></li> <li><a href="#">Item</a></li> </ul> <h3>Ordered List</h3> <ol data-role="listview"> <li><a href="#">Item</a></li> <li><a href="#">Item</a></li> <li><a href="#">Item</a></li> </ol>
  • 98. ylambert@espol.edu.ec Listas Interactivas – 2/4 Vista de lista con botones
  • 99. ylambert@espol.edu.ec Demostración 25 – 3/4 <div data-role="content"> <h3>Unordered List</h3> <ul data-role="listview"> <li><a href="#it1">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul> <h3>Ordered List</h3> <ol data-role="listview"> <li><a href="#it1">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ol> </div>  Uso de listas interactivas
  • 100. ylambert@espol.edu.ec Demostración 25 – 4/4 <div data-role="page" id="it1" data-add-back-btn="true"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>List.Interactivas</h1> </div> <div data-role="content"> <h2 align="center">ITEM 1</h2> <p>Un framework de interfaz de usuario multi- plataforma que permite crear webapps y Apps para teléfonos y tabletas táctiles.</p> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4> </div> </div>  Uso de listas interactivas
  • 101. ylambert@espol.edu.ec  Uso de listas interactivas Laboratorio 7 – 1/2
  • 102. ylambert@espol.edu.ec  Uso de listas interactivas Laboratorio 7 – 2/2 • El trabajo será calificado y es individual. • Tiempo: 30 minutos para realizar el trabajo.
  • 103. ylambert@espol.edu.ec Listas Anidadas – 1/3 – jQuery Mobile permite crear listas anidadas y producir vistas interactivas en las que el usuario puede profundizar tocando en elementos individuales. – La primera vista constará de los elementos de la lista de nivel superior, y tocando en uno de esos artículos, se visualizará la sub-lista, y así sucesivamente.
  • 104. ylambert@espol.edu.ec Demostración 26 – 2/3 <div data-role="content"> <h3 align="center">Pike+</h3> <ul data-role="listview"> <li>Postres <ul> <li>Postre 1</li> <li>Postre 2</li> <li>Postre 3</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li> <li>Platos Fuertes <ul> <li>Plato 1</li> <li>Plato 2</li> <li>Plato 3</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li>  Uso de listas anidadas
  • 105. ylambert@espol.edu.ec Demostración 26 – 3/3 <li>Bebidas <ul> <li>Bebida 1</li> <li>Bebida 2</li> <li>Bebida 3</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4> </div> </div>  Uso de listas anidadas
  • 106. ylambert@espol.edu.ec  Uso de listas interactivas anidadas Laboratorio 8 – 1/4
  • 107. ylambert@espol.edu.ec  Uso de listas interactivas anidadas Laboratorio 8 – 2/4
  • 108. ylambert@espol.edu.ec  Uso de listas interactivas anidadas Laboratorio 8 – 3/4
  • 109. ylambert@espol.edu.ec  Uso de listas interactivas anidadas Laboratorio 8 – 4/4
  • 110. ylambert@espol.edu.ec Divisores de listas – 1/2 – Usted puede utilizar separadores para dividir una lista única en las agrupaciones de filas con sus propios títulos, como se muestra en la siguiente figura: - Para hacer esto en jQuery Mobile, podemos utilizar una nueva función disponible para los elementos li: data-role = "list-divider"
  • 111. ylambert@espol.edu.ec Demostración 27 – 2/2 <div data-role="content"> <ul data-role="listview“ data-dividertheme="d" data-theme="e"> <li data-role="list-divider">Grupo A <li>Argentina</li> <li>Nigeria</li> <li>England</li> <li data-role="list-divider">Grupo B</li> <li>United States</li> <li>Mexico</li> <li>Korea</li> <li data-role="list-divider">Grupo C</li> <li>Germany</li> <li>Finland</li> <li>Chile</li> </ul> </div>  Uso de divisores de listas
  • 112. ylambert@espol.edu.ec Botones dobles – 1/6 – A veces es útil si podemos tener dos posibles acciones interactivas que operan en la misma fila. El escenario más común es tener una acción de detalle, y también una acción de edición. – Por ejemplo, ¿el usuario que consulta una lista de álbumes, que debe ser presentado con la posibilidad de comprar y escuchar a cada uno de ellos de manera rápida y sencilla.
  • 113. ylambert@espol.edu.ec Demostración 28 – 2/6 <div data-role="header" data-theme="b" data-position="fixed"> <h1>Platos Típicos</h1> </div> <div data-role="content"> <ul data-role="listview"> <li><a href="#deta1">Caldo de bolas</a> <a href="#precio1">Precio</a> <li><a href="#deta2">Caldo de Manguera</a> <a href="#precio2">Precio</a> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4> </div>  Uso de botones dobles
  • 114. ylambert@espol.edu.ec Demostración 28 – 3/6 <div data-role="page" id="deta1" data-add-back-btn="true"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>Caldo de bolas</h1> </div> <div data-role="content"> <h4>INGREDIENTES </h4> <p>1 ½ libra de hueso 5 verdes crudos 2 hojas de col 1 pimiento ½ cucharadita de pimienta y comino 1 cucharada de perejil 5 verdes cocinados ½ libra de carne molida 1csebolla paiteña 3 dientes de ajo ½. </p> </div> </div>  Uso de botones dobles
  • 115. ylambert@espol.edu.ec Demostración 28 – 4/6 <div data-role="page" id="precio1" data-add-back-btn="true"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>Caldo de bolas</h1> </div> <div data-role="content"> <h4><b>Precio:</b> $ 5 </h4> </div> </div>  Uso de botones dobles
  • 116. ylambert@espol.edu.ec Demostración 28 – 5/6 <div data-role="page" id="deta2" data-add-back-btn="true"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>Caldo de Manguera</h1> </div> <div data-role="content"> <p>El caldo de manguera es una receta típica de la gastronomía ecutoriana y con mucha historia. </p> <h4>INGREDIENTES:</h4> <p> 2 tazas de sangre de Chancho, 1 col, la mitad cocida, y la otra mitad cruda, menudencias e intestinos de chancho, 1 pimiento.</p> </div> </div>  Uso de botones dobles
  • 117. ylambert@espol.edu.ec Demostración 28 – 6/6 <div data-role="page" id="precio2" data-add-back-btn="true"> <div data-role="header" data-theme="b" data-position="fixed"> <h1>Caldo de Manguera</h1> </div> <div data-role="content"> <h4><b>Precio:</b> $ 4.0 </h4> </div> </div>  Uso de botones dobles
  • 118. ylambert@espol.edu.ec  Uso de listas con botones dobles Laboratorio 9 – 1/2 Características Precio
  • 119. ylambert@espol.edu.ec  Uso de listas con botones dobles Laboratorio 9 – 2/2 Características Precio Características Precio
  • 120. ylambert@espol.edu.ec Imágenes – 1/3 – En cada fila podemos definir una imagen para identificar gráficamente el elemento. – Hay dos diferentes tipos de imágenes que podemos añadir a cada fila: iconos y miniaturas. – El tamaño de las imágenes para poner como íconos en la lista es de aproximadamente 25 ancho x 16 alto. – El tamaño de las imágenes para poner como thumbnails en la lista es de aproximadamente 80 ancho x 80 alto.
  • 121. ylambert@espol.edu.ec Demostración 29 – 2/3 <div data-role="header" data-theme="b" data-position="fixed"> <h1>World Cup</h1> </div> <div data-role="content"> <ul data-role="listview" data-dividertheme="d" data-theme="e"> <li data-role="list-divider">Grupo A <li><img src="images/ecuador.jpg" class="ui-li-icon">Ecuador</li> <li><img src="images/alemania.jpg" class="ui-li-icon">Alemania</li> <li data-role="list-divider">Grupo B</li> <li><img src="images/corea.jpg" class="ui-li-icon">Corea</li> <li><img src="images/brasil.jpg" class="ui-li-icon">Brasil</li> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4> </div>  Uso imágenes en listas como íconos
  • 122. ylambert@espol.edu.ec Demostración 30 – 3/3 <div data-role="header" data-theme="b" data-position="fixed"> <h1>Platos Típicos</h1> </div> <div data-role="content"> <ul data-role="listview"> <li><a href="#deta1"> <img src="images/cbola.jpg"> Caldo de bolas</a> <a href="#precio1">Precio</a> <li><a href="#deta2"> <img src="images/csalch.jpg"> Caldo de Manguera</a> <a href="#precio2">Precio</a> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4> </div>  Uso imágenes en listas como thumbnails
  • 123. ylambert@espol.edu.ec Contador de burbujas – 1/3 – Un número de burbujas es un círculo con un número dentro puesto a la derecha de la fila por lo general que muestra cuántos elementos están ahí en las filas interactivas. – Se puede utilizar para mostrar elementos no leídos, tareas sin terminar, o cualquier otra información numérica en una forma muy sencilla. – Sólo tiene que utilizar cualquier elemento, como una etiqueta span, con una clase ui-li-count dentro de una fila de la lista y eso es todo. Por ejemplo: <li><a href=“cursos.html">Cursos de Programación</a> <span class="ui-li-count">4</span>
  • 124. ylambert@espol.edu.ec Demostración 31 – 2/3 <div data-role="page" id="pag1"> <div data-role="header" data-theme="e" data-position="fixed" > <h1>@prendamos</h1> </div> <div data-role="content"> <h4 align="center">Cursos Interactivos</h4> <ul data-role="listview" data-inset="true"> <li><a href="#">Diseño</a> <span class="ui-li-count">3</span> <ul data-inset="true"> <li>Photoshop</li> <li>Illustrator</li> <li>Fireworks</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li>  Uso de número de burbujas
  • 125. ylambert@espol.edu.ec Demostración 31 – 3/3 <li><a href="#">Programación</a> <span class="ui-li-count">2</span> <ul data-inset="true"> <li>C# .net</li> <li>Java</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li> <li><a href="#">Ofimática</a> <span class="ui-li-count">1</span> <ul data-inset="true"> <li>Word 2010</li> <li><a href="#pag1" data-rel="back">Volver</a></li> </ul> </li> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4></div>/div>  Uso de número de burbujas
  • 126. ylambert@espol.edu.ec Contenido relacionado – 1/2 – Hasta ahora, todas las listas que hemos diseñado tiene una sola columna para el contenido del texto. Se puede añadir una miniatura o un icono, pero sólo una columna de texto. – Podemos agregar una columna de segundo nivel a todas las filas para obtener información adicional que desee mostrar. – Para ello, podemos utilizar cualquier elemento HTML con una clase ui-li- aside, como un elemento span ó DIV. <ul data-role="listview"> <li><a href=“#">Soda</a> <span class="ui-li-aside">$1.00</span> <li><a href=“#">Sandwich</a> <span class="ui-li-aside">$3.20</span> <li><a href=“#">Ice cream</a> <span class="ui-li-aside">$1.50</span> </ul>
  • 127. ylambert@espol.edu.ec Demostración 32 – 2/2 <div data-role="content"> <h4 align="center">Menú</h4> <ul data-role="listview" data-inset="true" > <li><a href="buy.html">Soda <span class="ui-li-aside">$1.00</a></span> <li><a href="#">Sandwich <span class="ui-li-aside">$3.20</a></span> <li><a href="#">Ice Cream <span class="ui-li-aside">$1.50</a></span> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4></div>/div>  Uso de contenido relacionado
  • 128. ylambert@espol.edu.ec Título y descripción – 1/2 – Si queremos mostrar un título y una descripción, como parte de la fila, podemos hacerlo por utilizando algún elemento de cabecera Hx para el título y un elemento P para la descripción del texto. – Por supuesto, usted puede mezclar el título y la descripción con el contenido relacionado, con los iconos o thumbnails en la misma fila. <ul data-role="listview" data-inset="true" > <li><a href="#"> <h3>Bebida</h3> <p>Elige tu refresco favorito </p> <span class="ui-li-aside">$1.00</a></span> </ul>
  • 129. ylambert@espol.edu.ec Demostración 33 – 2/2 <div data-role="content"> <h4 align="center">Menú</h4> <ul data-role="listview" data-inset="true" > <li><a href="#"> <h3>Bebida</h3> <p>Elige tu refresco favorito </p> <span class="ui-li-aside">$1.00</a></span> <li><a href="#"> <h3>Sandwich</h3> <p>Jamón y Queso, jamón y huevo o atún</p> <span class="ui-li-aside">$3.20</a></span> <li><a href="#"> <h3>Helado</h3> <p>Chocolate, vainilla o fresa</p> <span class="ui-li-aside">$1.50</a></span> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b"> <h4>www.jquerymobile.com</h4></div>/div>  Uso de título y descripción
  • 130. ylambert@espol.edu.ec Filtrado de datos con búsqueda – 1/2 – La magia de jQuery Mobile ha sucedido. Al agregar este atributo simple, un cuadro de búsqueda se adjunta automáticamente en la parte superior de la lista (página completa o recuadro) y funciona! – Esta característica va a filtrar nuestros elementos de la lista sobre la base de escritura del usuario. El cuadro de texto de búsqueda se ve muy bien, con un icono de búsqueda en el lado izquierdo, un marca de agua texto de sugerencia, esquinas redondeadas, y un botón de borrado en el lado derecho. – Se puede buscar en el elemento UL como OL y agregar data-filter="true" <ul data-role="listview" data-filter="true"> <!-- list rows --> </ul>
  • 131. ylambert@espol.edu.ec Demostración 34 – 2/2 <div data-role="content"> <h4 align="center">Menú</h4> <ul data-role="listview" data-inset="true" data-filter="true" data-filter- placeholder="Buscar" > <li><a href="#"> <h3>Bebida</h3> <p>Elige tu refresco favorito </p> <span class="ui-li-aside">$1.00</a></span> <li><a href="#"> <h3>Sandwich</h3> <p>Jamón y Queso, jamón y huevo o atún</p> <span class="ui-li-aside">$3.20</a></span> <li><a href="#"> <h3>Helado</h3> <p>Chocolate, vainilla o fresa</p> <span class="ui-li-aside">$1.50</a></span> </ul> </div> <div data-role="footer" data-position="fixed" data-theme="b">  Filtrado de datos con búsqueda
  • 132. ylambert@espol.edu.ec  Uso de imágenes y filtro de datos Laboratorio 10 – 1/2 Características Precio
  • 133. ylambert@espol.edu.ec  Uso de imágenes y filtro de datos Laboratorio 10 – 2/2 Características Precio Características Precio
  • 134. ylambert@espol.edu.ec Formularios – jQuery mobile soporta formularios con manejo automático de AJAX. Esa es la primera buena noticia acerca de los controles de formulario.. – Los controles de formulario soportados son input, textarea, radio buttons, checkbox, slider, select, etc. – Todos los controles se encuentran dentro de un elemento de formulario (form)con un atributo de acción que define la dirección URL que recibirá los datos del formulario. – Query Mobile mejorará todos los elementos de forma nativa para hacerlos más atractivos y utilizable en dispositivos móviles. <form action="send.php" action="get"> </form>
  • 135. ylambert@espol.edu.ec Formularios – Labels – Un elemento muy importante del control de todas las formas es la etiqueta. Siempre debe incluir un elemento de indicación en el control de la derecha utilizando el atributo for. Veamos un ejemplo. <form action="send.php" action="get"> <label for="company">Company Name:</label> </form>
  • 136. ylambert@espol.edu.ec Formularios – Text Fields – jQuery Mobile es compatible con los controles básicos de HTML5 de entrada de texto y los hace de acuerdo con el tema actual y muestra de color. Estos son los campos de entrada de texto disponibles: – <input type="text"> – <input type="password"> – <input type="email"> – <input type="tel"> – <input type="url"> – <input type="search"> – <input type="number"> – <textarea> <form action="send.php" action="get"> <label for="company">Company Name:</label> <input type="text" id="company" name="company"> </form>
  • 137. ylambert@espol.edu.ec Formularios – Text Fields Uso de nuevos tipos de entrada de texto HTML5
  • 138. ylambert@espol.edu.ec Demostración 35 <div data-role="content"> <form action="" method="get"> <label for="nombre">Nombre</label> <input type="text" id="nombre" name="nombre"> </form> </div>  Uso de labels y text fields
  • 139. ylambert@espol.edu.ec Formularios – Field Contain – Un contenedor es un campo opcional que mejora la experiencia de usuario en pantallas más anchas, como dispositivos tipo tableta. – Este contenedor es cualquier elemento de bloque con data-role = "fieldcontain“. <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="nombre">Nombre</label> <input type="text" id="nombre" name="nombre"> </div> </form> </div>
  • 140. ylambert@espol.edu.ec Demostración 36 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="nombre">Nombre</label> <input type="text" id="nombre" name="nombre"> </div> <div data-role="fieldcontain"> <label for="email">Email:</label> <input type="email" id="email" name="email"> </div> </form> </div>  Uso de contenedores de campo
  • 141. ylambert@espol.edu.ec Formularios – Text Area – Cuando usamos la caja de texto para la entrada de texto de varias líneas, vamos a obtener un servicio de cortesía: auto-creciente. – jQuery Mobile se inicia con una altura de dos líneas hasta que ingrese el texto que crea una tercera línea. Entonces, la estructura se expande automáticamente el área de texto para adaptarse a la nueva línea. <div data-role="fieldcontain"> <label for="comen">Comentarios:</label> <textarea id="comen" name="comen></textarea> </div
  • 142. ylambert@espol.edu.ec Demostración 37 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="nombre">Nombre</label> <input type="text" id="nombre" name="nombre"> </div> <div data-role="fieldcontain"> <label for="email">Email:</label> <input type="email" id="email" name="email"> </div> <div data-role="fieldcontain"> <label for="comen">Comentarios</label> <textarea id="comen" name="comen"></textarea> </div> </form> </div>  Uso de Text Area
  • 143. ylambert@espol.edu.ec Nuevos Atributos de HTML5 – Es seguro usar cualquier atributo HTML 5 en nuestros campos de texto, ya que trabajar en dispositivos compatibles y no hará nada en los navegadores antiguos. – Dentro de la lista de los nuevos atributos de los controles en los formulario se pueden mencionar los siguientes: • Requeridos • Patrones, • Marcador de posición, • mínima y máxima (útil sólo para <input type="number">).
  • 144. ylambert@espol.edu.ec Demostración 38 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="nombre">Nombre</label> <input type="text" id="nombre" name="nombre" required placeholder="Ingrese su nombre"> </div> <div data-role="fieldcontain"> <label for="edad">Edad:</label> <input type="number" id="edad" required placeholder="Ingrese su edad" min="10" max="110"> </div> </form> </div>  Uso de nuevos atributos en HTML5
  • 145. ylambert@espol.edu.ec Formularios – Date Fields – Introducción de fechas en HTML siempre fue un problema y nos acostumbramos a depender de bibliotecas de JavaScript que prestan calendarios visuales usando HTML. – HTML5 ahora se ha añadido soporte para los campos de fecha a través del elemento de entrada que utilizan los siguientes tipos: • date para un selector de fecha (día, mes, año) • Datetime para un selector de fecha completa (día, mes, año, hora, minuto) usando la sintaxis estándar, incluyendo la zona horaria GMT • Time para un selector de tiempo (horas, minutos) • datetime-local un selector de fecha completa, sin información de zona horaria • month un selector de mes (por lo general se representa como una lista desplegable) • week durante una semana del selector de año (por lo general se representa como una lista desplegable)
  • 146. ylambert@espol.edu.ec Formularios – Date Fields Desde la versión iOS 5 en adelante, los elementos de fecha son compatibles, por lo que obtendrá un selector de fecha bonita cuando se utiliza este tipo de entrada HTML5
  • 147. ylambert@espol.edu.ec Demostración 39 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="cumple">Cumpleaño</label> <input type="date" id="cumple" name="cumple"> </div> <div data-role="fieldcontain"> <label for="mes">Mes favorito:</label> <input type="month" id="mes" name="mes"> </div> </form> </div>  Uso de Date Fields
  • 148. ylambert@espol.edu.ec Formularios – Slider – 1/2 – Un deslizador es ideal para los valores numéricos dentro de un rango. Cuando se utiliza, se proporciona un campo de texto numérico y un deslizador horizontal a la derecha. – Para utilizar un deslizador, se debe definir un control de HTML5 <input type="range">. Acepta mínimo, máximo, y el paso de valores: <div data-role="fieldcontain"> <label for="qty">Cantidad:</label> <input type="range" id="qty" name="qty" min="1" max="100" value="5"> </div>
  • 149. ylambert@espol.edu.ec Formularios – Slider – 2/2 – El deslizador es compatible con una muestra de color a través de la definición data-theme que afecta a las teclas numéricas tipo entrada, y también podemos definir una data-track-theme, que sólo afecta a la pista. <div data-role="fieldcontain"> <label for="qty">Cantidad:</label> <input type="range" id="qty" name="qty" min="1" max="100" value="5" data-theme="e" data-track-theme="b"> </div>
  • 150. ylambert@espol.edu.ec Demostración 40 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="qty">Cantidad</label> <input type="range" id="qty" name="qty" min="1" max="100" value="5"> </div> <div data-role="fieldcontain"> <label for="qty">Cantidad:</label> <input type="range" id="qty" name="qty" min="1" max="100" value="5" data-theme="e" data-track-theme="b"> </div> </form> </div>  Uso de Slider
  • 151. ylambert@espol.edu.ec Formularios – Flip Toggle Switch – Un interruptor de palanca es un selector de valores booleanos (verdadero o falso, encendido o apagado), similar a una casilla en funcionalidad, pero con una interfaz de usuario radicalmente diferente. – Se hizo como un interruptor visual que puede ser activada o desactivada por el usuario (tocando o arrastrando el cambiar). – Este es el primer control que necesita un explícito data-role:slider. Se necesita un elemento select con sólo dos opciones: off/false y luego el on/verdadero. <div data-role="fieldcontain"> <select id="updated" name="updated" data-role="slider"> <option value="no">No</option> <option value="yes">Yes</option> </select> </div>
  • 152. ylambert@espol.edu.ec Demostración 41 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="updated">Recibir actualizaciones</label> <select id="updated" name="updated" data-role="slider"> <option value="no">No</option> <option value="yes">Yes</option> </select> </form> </div>  Uso de Slider
  • 153. ylambert@espol.edu.ec Formularios – Select Menus – Los menús a través de los elementos seleccionados son un control de forma típica para seleccionar uno o varios opciones de una lista desplegable. Cada navegador móvil es compatible selecciona (simple y múltiple selección). <div data-role="fieldcontain"> <label for="training">Entrenamiento</label> <select id="training" name="training"> <option value="1">HTML5</option> <option value="2">jQuery Mobile</option> <option value=“3">BlackBerry</option> <option value=“4">Flash</option> <option value=“5">Fireworks</option> </select> </div>
  • 154. ylambert@espol.edu.ec Demostración 42 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="training">Entrenamiento</label> <select id="training" name="training"> <option value="1">HTML5</option> <option value="2">jQuery Mobile</option> <option value="3">BlackBerry</option> <option value="4">Flash</option> <option value="5">Fireworks</option> </select> </div> </form> </div>  Uso de Select Menus
  • 155. ylambert@espol.edu.ec Demostración 43 <div data-role="content"> <form action="" method="get"> <div data-role="fieldcontain"> <label for="training">Entrenamiento</label> <select id="training" name="training" data-native-menu="false" multiple> <option value="1">HTML5</option> <option value="2">jQuery Mobile</option> <option value="3">BlackBerry</option> <option value="4">Flash</option> <option value="5">Fireworks</option> <option value="5">DW</option> </select> </div> </form> </div>  Uso de Select Menus con atributo múltiple y opciones de menú no nativas
  • 156. ylambert@espol.edu.ec Formularios – Agrupación de menús – Los Select Menu pueden agruparse usando el elemento controlgroup, vertical o horizontalmente. – La última es útil para cortar la longitud de selección, por ejemplo: un grupo de mes / día / año. Para menús agrupados, tenemos que integrar en un div con data-role = "controlgroup"
  • 157. ylambert@espol.edu.ec Demostración 44 <form action="" method="get"> <div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Fecha de nacimiento</legend> <select id="dia" name="dia" data-native-menu="false" > <option >Día</option> <option value=“1">1</option> <option value=“2">2 Mobile</option> </select> <select id="mes" name="mes" data-native-menu="false" > <option>Mes</option> <option value=“1">Enero</option> <option value=“2">Febrero</option> </select> <select id="anio" name="anio" data-native-menu="false" > <option >Año</option> <option value=“1">1978</option> <option value=“2">1980</option> </select> </fieldset> </div> </form>  Agrupación de menú con div y controlgroup
  • 158. ylambert@espol.edu.ec Demostración 45 <form action="" method="get"> <div data-role="fieldcontain"> <fieldset data-role="controlgroup"> <legend>Fecha de nacimiento</legend> <select id="dia" name="dia" data-native-menu="false" > <option >Día</option> <option value=“1">1</option> <option value=“2">2 Mobile</option> </select> <select id="mes" name="mes" data-native-menu="false" > <option >Mes</option> <option value=“1">Enero</option> <option value=“2">Febrero</option> </select> <select id="anio" name="anio" data-native-menu="false" > <option >Año</option> <option value=“1">1978</option> <option value=“2">1980</option> </select> </fieldset> </div> </form>  Agrupación de menú con fieldset
  • 159. ylambert@espol.edu.ec Demostración 46 <form action="" method="get"> <div data-role="fieldcontain"> <div data-role="controlgroup" data-type="horizontal"> <legend>Día y Tiempo</legend> <select id="dia" name="dia" data-native-menu="false" multiple> <option >Día</option> <option value="1">Lunes</option> <option value="2">Martes</option> <option value="3">Miércoles</option> <option value="4">Jueves</option> <option value="5">Viernes</option> </select> <select id="tiempo" name="tiempo" data-native-menu="false"> <option value="1">Mañana</option> <option value="2">Tarde</option> <option value="3">Noche</option> </select> </div> </div> </form>  Agrupación de menú con div y controlgroup
  • 160. ylambert@espol.edu.ec Formularios – Radio Buttons – Todos sabemos lo que es un botón de radio. La gran cosa acerca de los botones de la radio en jQuery Mobile es la forma en que se prestan sin ningún tipo de trabajo de nosotros. En primer lugar, vamos a revisar los requisitos para los botones de radio para que funcione correctamente en jQuery Mobile: • Cada opción debe ser un <input type="radio“> • Todas las opciones de un mismo grupo debe tener el mismo nombre. • Todas las opciones deben tener un identificador único y un elemento de etiqueta única que se le aplica.
  • 161. ylambert@espol.edu.ec Demostración 47 <form action="" method="get"> <div data-role="fieldcontain"> <div data-role="controlgroup" > <legend>Seleccione su estado civil</legend> <input type="radio" id="soltero" name="estadoc" value="1"> <label for="soltero">Soltero</label> <input type="radio" id="casado" name="estadoc" value="2"> <label for="casado">Casado</label> <input type="radio" id="divorciado" name="estadoc" value="3"> <label for="divorciado">Divorciado</label> </select> </div> </div> </form> Uso de Radio Buttons
  • 162. ylambert@espol.edu.ec Formularios – Checkboxes – Las casillas de verificación funcionan de manera similar a los botones de radio, pero con selección múltiple.
  • 163. ylambert@espol.edu.ec Demostración 48 <form action="" method="get"> <form action="" method="get"> <div data-role="fieldcontain"> <div data-role="controlgroup" > <legend>Seleccione el Género</legend> <input type="checkbox" id="accion" name="accion" checked> <label for="accion">Acción</label> <input type="checkbox" id="comedia" name="comedia"> <label for="comedia">Comedia</label> <input type="checkbox" id="drama" name="drama" > <label for="drama">Drama</label> </select> </div> </div> </form> Uso de Checkboxes