Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Jquery Mobile
Manual Jquery Mobile
com
En la si#uiente ima#en podemos ver los lo#os de los sistemas operativos que jQuery Mobile soporta.
/o obstante" cabe sealar existen diversos #rados de compatibilidad para cada sistema" o mejor dicho" para cada nave#ador dentro de cada !amilia de dispositivos. En la documentacin del !ramework" en la seccin de -upported *lat!ormsveremos que el #rado de compatibilidad est' dividido en tres niveles distintos" desde @radoA3 Bdonde est'n la mayor$a nave#adores para i?- y 3ndroid" as$ como <lack<erry" *alm Ceb?-" los nave#adores de ordenadores de escritorio" etc.D a @radoA< Bdonde encontramos a -ymbian" ?pera Mini =.E y F.E para i?- o <alckberry =.ED o @radoA5 Bcon el resto de los smartphones" entre los que se encuentra Cindows Mobile o <lackberry GD. En resumen" que se#8n apuntan en la documentacin" solo se ha dejado sin soporte deliberadamente en esta versin ..E del !ramework el sistema -amsun# <ada BEl sistema operativo propietario de -amsum# para smartphonesD" aunque dicen que probablemente !uncione relativamente bien incluso sin haberla probado" pues todav$a no hay dispositivos o emuladores. En los prximos art$culos de 0esarrolloCeb.com empe&aremos a desarrollar con jQuery Mobile" comen&ando por las explicaciones sobre cmo hacer una primera p'#ina b'sica. 0e momento os dejo un par de enlaces que puedan complementar esta in!ormacin( 5omo no" es imprescidible dar el enlace a este !ramework" para que pod'is ir conoci%ndolo( http(HHjquerymobile.com 3dem's" una re!erencia interesante a un sitio donde se puede ver una #aler$a de sitios creados con jQuery Mobile.
5omo te habr's percatado" a8n a estas instancias del Manual de jQuery Mobile no se ha visto ni una sola l$nea de 9avascript" pero lo mejor es que hemos lo#rado la constitucin de importantes y relevantes herramientas para cualquier aplicacin web mvil. -in embar#o" con lo anterior no pretendemos decir que jQuery Mobile es solo para crear wid#ets" sino que tiene muchos m's soportes. Es m's" podemos hacer al#unos trabajos de 393I con el !ramework" as$ como cualquier otro tipo de interaccin usuarioHsitio" de manera muy simple. :ablando un poco mas de 393I" creo que hemos comentado anteriormente que el propio !ramework tambi%n lo maneja de !orma autom'tica" haciendo incluso por nosotros tratamientos especiales !rente a errores" por ejemplo. En este sentido" si lle#a a producirse al#8n problema con una transaccin :22*" o cualquier otro protocolo" jQuery Mobile lo detectar'" enviando al usuario un )2oask) como aviso" con un mensaje del problema. 2ambi%n procesa los eventos relacionados con la car#a de los datos que se pueden reali&ar a trav%s de cualquier peticin que se ha#a al servidor" mostr'ndonos de la misma !orma un 2oask de de car#a.
4ota5 *ara aclarar dudas" quiero decir que un 2oask es como una especie de )alert)" que aparece encima de las aplicaciones" con la de!erencia de que %ste no usa botones" se oculta de !orma autom'tica" se usan en los dispositivos mviles y p'#inas web de !orma moment'nea.
2ambi%n existe una !orma muy parecida para cambiar las transiciones de los cuadros de di'lo#o" as$ tendremos una mejor animacin uni!icada no slo para las p'#inas" sino tambi%n para los cuadros de di'lo#o.
$.mobile.defaultDialogTransition='slideup';
3hora si lo que queremos es cambiar el mensaje que viene dentro del 2oask" que aparece cuando hay un error" necesitamos el si#uiente cdi#o(
$.mobile.pageLoad rrorMessage = '!ue"o mensaje';
2ambi%n se puede controlar la aparicin y desaparicin de los 2oask. 0i#amos que quiero que" al presionar un botn" apare&ca el mensaje de car#a. Entonces escribimos un cdi#o como este(
$.mobile.loadingMessage = "Hemos modificado el mensaje del Loading"; $.mobile.s#o$PageLoadingMsg%''&;
7ue#o para ocultar el 2oask lo hacemos con una sencilla l$nea de cdi#o como esta.
$.mobile.#idePageLoadingMsg%&;
Lecuerda que si quieres tener una re!erencia m's amplia de las con!i#uraciones por de!ecto en jQuery Mobile Framework" puedes visitar su documentacin" en la seccin de con!i#uraciones por de!ecto jquerymobile.comHdemosH..EHdocsHapiH#lobalcon!i#.html
$%document&.read3%function%&7 $.mobile.pageLoad rrorMessage = ' sta pagina no es8iste0 el mensaje de error #a sido cambiado'; $.mobile.fi8edToolbars.s#o$%true&; $.mobile.defaultDialogTransition='slideup'; $.mobile.defaultPageTransition='flip'; $%"9mostrar"&.clic2%function%e&7 $.mobile.loadingMessage = "Hemos modificado el mensaje del Loading"; $.mobile.s#o$PageLoadingMsg%''&; :&; $%"9ocultar"&.clic2%function%e&7 $.mobile.#idePageLoadingMsg%&; :&;
'-di", 'di" data.role="footer", '#=,*onfiguraciones'-#=, '-di", '-di", 'di" data.role="page" id="pag;", 'di" data.role="#eader" data.position="fi8ed", '#1,*onfiguraciones pagina ;'-#1, '-di", 'di" data.role="content", 'p, ste es una pagina 3 puedes "er 4ue #ace la transicion flip0 sin poner el data.transition en el anlace0 todas las paginas tendran la misma transicion'-p, 'a #ref="9#ome" data.role="button" data.icon="bac2",>egrsar'-a, '-di", 'di" data.role="footer", '#=,*onfiguraciones pagina ;'-#=, '-di", '-di", 'di" data.role="page" id="dialogo", 'di" data.role="#eader" data.position="fi8ed", '#1,*onfiguraciones'-#1, '-di", 'di" data.role="content", 'p, ste es un dialog 3 puedes "er 4ue #ace la transicion slideup0 sin poner el data.transition en el anlace0 todos los dialogos tendran la misma transicion'-p, 'a #ref="9#ome" data.role="button" data.icon="bac2",>egrsar'-a, '-di", '-di", '-bod3, '-#tml,
-in son observadores" se dar'n cuenta de que usamos una con!i#uracin no explicada.
$.mobile.fi8edToolbars.s#o$%true&;
5on %sta se lo#ra que todas las barras BheaderH !ooterD que ten#an el atributo dataApositionMK!ixedK" se !ijen de la misma !orma que lo hace la barra de @oo#le" donde podemos hacer scroll en la pa#ina y la barra tambi%n bajar'" posicion'ndose siempre en la parte superior de la ventana del documento.
Artculo por
Dairo Galeano
7
'title,Probando j?uer3 Mobile'-title, 'meta c#arset="utf./", 'meta name=""ie$port" content="$idt#=de"ice.$idt#0 initial.scale=1", 'lin2 rel="st3les#eet" #ref="#ttp@--code.j4uer3.com-mobile-1.5-j4uer3.mobile.1.5.min.css" -, 'script t3pe="te8t-ja"ascript" src="#ttp@--code.j4uer3.com-j4uer3.1.A.B.min.js",'-script, 'script t3pe="te8t-ja"ascript" src="#ttp@--code.j4uer3.com-mobile-1.5-j4uer3.mobile. 1.5.min.js",'-script, '-#ead, 'bod3, 'di" data.role="page", 'di" data.role="#eader", PCgina para mD"iles '-di", 'di" data.role="content", sta es la "ersiDn para mD"iles de mi sitio $eb '-di", 'di" data.role="footer", *ontacta 3 lo 4ue sea... '-di", '-di", '-bod3, '-#tml,
3 continuacin podemos ver" parte por parte" comentado todo el anterior cdi#o :2M7.
4ota5 5omo acabas de ver" la p'#ina b'sica de este !ramework para mviles incluye" no solo los scripts jQuery y el componente jQuery Mobile" con sus 5--" sino tambi%n un bloque de cdi#o :2M7 para crear las partes !undamentales de toda p'#ina jQuery Mobile. Esto es porque jQuery mobile" como ver's a lo lar#o de los si#uientes art$culos" no es solo un !ramework para crear dinamismos del lado del cliente Acomo podr$amos entender a jQueryA" sino todo un paquete de utilidades que van desde la maquetacin de contenidos para mviles" mejoras en la presentacin e inter!aces de usuario" hasta una serie de m%todos para reali&ar dinamismos e interaccin con el usuario.
+sto es )"M*,5omo se dijo en el art$culo anterior" jQuery Mobile !unciona con :2M7=. Es decir" para poder disponer de todas las !uncionalidades del !ramework debemos escribir cdi#o :2M7=. *or ello" podremos apreciar como se de!ine el doctype de :2M7= en la primera l$nea de cdi#o.
'(D)*T+P #tml,
4ota5 7os entendidos de :2M7= ver'n tambi%n que hemos de!inido una etiqueta ME23 para especi!icar el jue#o de caracteres ;2FAN" necesario en esta versin del len#uaje :2M7. Lecordar que se debe #uardar el archivo con ese !ormato" ;2FAN" con vuestro editor de texto para que todo vaya correctamente.
Esta etiqueta se debe indicar porque al#unos dispositivos reali&an un escalado autom'tico de la p'#ina para mostrarla a unas dimensiones que no tienen por qu% ser las deseadas. En al#unos casos se utili&a una anchura virtual de OEE p$xeles aproximadamente" con lo que nuestra p'#ina podr$a verse escalada. 5on esta etiqueta la anchura de la p'#ina ser' i#ual a la anchura de la pantalla del dispositivo. -in embar#o" esta de!inicin no entrar' en con!licto con la posibilidad de hacer &oom a la p'#ina" lo que es interesante desde el punto de vista de la accesibilidad. El 8nico problema de esta etiqueta es que en i?- no se actuali&a autom'ticamente la anchura de la p'#ina al cambiar la orientacin del dispositivo Bde hori&ontal para vertical o viceversaD" con lo que las dimensiones pueden no ajustarse a la pantalla cuando alteramos la posicin del mvil. -e#8n comentan en la documentacin" queda pendiente corre#ir este asunto en versiones venideras del !ramework.
En la documentacin del !ramework nos recomiendan hacer los enlaces con los scripts alojados en el 50/ B5ontent 0elivery /etworkD de jQuery" para un mejor desempeo. *ero si lo pre!erimos tambi%n podemos tenerlos alojados en nuestro propio servidor.
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com 0entro de esa divisin tendremos otros 0 4 con los tres roles !undamentales de toda p'#ina jQuery Mobile( cabecera" cuerpo y pie. 7a cabecera se indica con el dataAroleM)header).
'di" data.role="#eader",
5on esto hemos terminado con la p'#ina b'sica. *odemos ver el ejemplo en !uncionamiento.
Conclusin
7o m's se#uro es que no te haya sorprendido mucho esta primera p'#ina jQuery Mobile. Lealmente no tiene nada en especial y ciertamente" si la vemos en un nave#ador" no observaremos nada que resulte espectacular. /o obstante" en el si#uiente art$culo que publicaremos en 0esarrolloCeb.com modi!icaremos esta p'#ina b'sica" para aprender cmo es la estructura de la p'#ina multip'#ina de jQuery Mobile" que ya nos permitir' mostrar al#unas de las caracter$sticas interesantes de este !ramework. /o obstante" quiero que se aprecie que jQuery Mobile ya nos ha alterado un poco el aspecto de nuestra p'#ina b'sica a partir de unos estilos en la cabecera y pie" que son meramente autom'ticos. /uevamente" os pido un poco de paciencia para conocer en detalle todas las bondades anunciadas de este !ramework en !uturos art$culos.
Artculo por
10
Este sitio estar$a !ormado por tres p'#inas distintas( )portada)" )#aleria) y )comprar). 3 pesar que est'n escritas en el mismo archivo :2M7" jQuery se encar#ar' de mostrarlas como si !ueran p'#inas independientes. 7a nave#acin entre ellas est' reali&ada por enlaces" como veremos a continuacin.
11
5omo vemos" se le ha colocado idM)portada)" con lo que ya tiene un nombre asi#nado. 3hora" si queremos hacer enlaces diri#idos hacia esta portada" los creamos simplemente como si !ueran enlaces internos. *ara ello colocamos el hre!M)Pportada)" es decir" tal como se hace con los enlaces dentro de la misma p'#ina que conocemos del :2M7.
'a #ref="9portada",Gr a la portada'-a,
7o #enial de estos enlaces es que" para pasar de una p'#ina a otra" jQuery Mobile produce una transicin autom'tica" que hace que una p'#ina actual desapare&ca y entre la enla&ada con un e!ecto suavi&ado. M's adelante explicaremos cmo con!i#urar las transiciones entre p'#inas.
3s$ vemos que" cuando el usuario pulse un enlace que le lleve a esta p'#ina" se cambiar' de manera autom'tica el titular de la ventana del nave#ador a lo indicado mediante dataAtitleM)@aler$a de #uitarras). En resumen. 7a primera de las p'#inas podr' tener el t$tulo que indiquemos en el 2 27E del documento :2M7" pero si queremos asi#nar otros t$tulos di!erentes a otras p'#inas de la estructura multip'#ina" deberemos hacerlo a trav%s de los atributos dataAtitle.
Atributos data0%
Quiero hacer una mencin aparte a estos atributos especiales de jQuery Mobile. 5omo has podido ver" al desarrollar para este !ramework se utili&an diversos atributos )dataAI)" como los mencionados dataArole o dataAtitle.
4ota5 ?tro ejemplo que hemos puesto en este art$culo de la estructura multip'#ina es dataArelM)dialo#)" que asi#nado a un enlace" provoca que la p'#ina que se est' enla&ando se muestre como si !uera un cuadro de di'lo#o. M's adelante veremos m's cosas acerca de los cuadros de di'lo#o" pero para que se identi!ique ese dataArelM)dialo#) pon#o aqu$ el cdi#o del enlace donde se ha colocado ese atributo.
2odos estos atributos con pre!ijo dataA son per!ectamente v'lidos en la sintaxis :2M7=" ya que las especi!icaciones del len#uaje permiten cualquier n8mero de atributos que comiencen por la cadena )dataA). En :2M7= se utili&an para embeber datos de las aplicaciones web en las propias etiquetas del :2M7 y jQuery Mobile los utili&a" como has podido comprobar" para con!i#urar el !uncionamiento de las p'#inas desarrolladas con estas librer$as. M's adelante veremos otros usos de esta t%cnica para implementar diversos componentes de inter!aces de usuario" con!i#urar las transiciones entre p'#inas" el comportamiento de los enlaces" etc.
12
Conclusin
0e momento dejamos por aqu$ estas explicaciones" o!reciendo el enlace al ejemplo en marcha donde puedes ver la estructura multip'#ina. 5omo podr's comprobar al ver el ejemplo en marcha" se han reali&ado dos tipos de comportamientos din'micos. *rimero las transiciones entre p'#inas" con un e!ecto de desplamiento suavi&ado. 7ue#o el cambio autom'tico del 2 27E del documento" al pasar de una p'#ina a otra. Es simplemente una pequea muestra de las posibilidades del !ramework y de como" a partir de mero cdi#o :2M7" se pueden con!i#urar diversos dinamismos. /i hace !alta decir que" si no bas'semos nuestras aplicaciones en jQuery Mobile" reali&ar estos comportamientos din'micos exi#ir$a usar bastante 9avascript y lidiar con las particularidades de cada dispositivo y nave#ador.
Artculo por
-i recordamos un poco sobre lo que hemos aprendido en desarrolloweb.com sobre de jQuery ; para crear un botn lo" cual no era muy di!$cil" primero necesit'bamos un cdi#o :2M7 como el si#uiente(
'a #ref="9" id ="boton" , ste es m3 buttton simple j?JG'-a,
El cual es un simple enlace" el cual se re!erencia a trav%s del id botn" pero que jQuery ; con ayuda de al#o de javas-cript lo convert$a en un bonito botn" dicho script ser$a al#o como el si#uiente(
$%"9boton"&.button%&;
13
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com 3hora bien" en el caso de jQuery Mobile no se requiere crear scripts para implementar nuestros botones. Eso lo hacemos de !orma directa en nuestro documento o cdi#o :2M7. -e lo#ra con cdi#o como el si#uiente(
'a #ref="9" id ="boton" data.role="button" , ste es m3 buttton simple con j?M'-a,
5omo podemos ver !ue muy !'cil crear nuestro botn. -olo tuvimos que asi#narle el valor de button al atributo dataArole de nuestro enlace" al#o que podemos hacer sobre un botn creado a trav%s de la etiqueta input lo cual ser$a al#o como esto(
'input t3pe="button" data.role="button" "alue="Koton input"-,
Es decir que !'cilmente podemos hacerlo de !orma directa sobre nuestros submit para enviar !ormularios a un servidor" lo que nos ayudar$a a salir del cl'sico y convencional botn :2M7" eso lo lo#ramos con la si#uiente l$nea de cdi#o(
'input t3pe="submit" data.role="button" "alue="Koton input con t3pe submit"-,
Modi icar las propiedades por de ecto de los botones de jQuery Mobile
;na de las cosas que pasan con los botones es que" por de!ecto" ocupan todo el ancho de la pantalla" sin importar la resolucin de la misma" pero en ciertos momentos no queremos hacer eso. Existe una manera muy simple de crear botones que se ajusten a la tamao del texto que llevan dentro y al i#ual que en la creacin del botn por de!ecto" solo necesitamos modi!icar al#unos atributos en el mismo cdi#o :2M7. *odemos conse#uirlo con el si#uiente cdi#o(
'a #ref="9" data.role="button" data.inline="true" ,Tiene el mismo anc#o del te8to'-a,
5omo se puede observar solo tuvimos que modi!icar el atributo dataAinline y asi#narle el valor a true con el !in que el botn se limite al tamao del texto. ?tras de las cosas que se pueden hacer con los botones es cambiar sus colores" con el !in de no quedarnos con los que vienen de manera predeterminada. 5omo todo en jQuery Mobile" se hace de manera muy simple" r'pida ycon un #rado de e!iciencia muy alto. Es decir" que si lo que queremos es tener un boton con di!erentes colores" tendr$amos que escribir un atributo m's a nuestros botones" dicho cdi#o puede ser el si#uiente(
'a #ref="9" data.role="button" data.inline="true" data.t#eme="e" , ste boton es de otro color'-a,
7o que hicimos !ue a#re#ar el atributo dataAtheme al cual le damos el valor de e atribuy%ndole un tema nuevo a nuestro botn. 0ichos temas van de la a hasta la e. 5omo podemos hacernos a la idea" cada tema de tendr' unos colores di!erentes. *or ejemplo" si probamos el si#uiente cdi#o(
'input t3pe="submit" data.role="button" "alue="submit con otro color" data.t#eme="b"-,
?btenemos un botn con un muy atractivo color a&ul" el cual equivale al darle el valor de b al tributo dataAtheme. 2odo esto nos comprueba que hacer inter!aces #ra!icas de usuario que visualmente sean atractivas" es una tarea que se puede hacer en jQuery Mobile con cierto #rado de !acilidad. *ara mayor claridad le dejo un cdi#o de una p'#ina web la cual contiene todo lo explicado en este art$culo" con el cual espero que aclaren al#unas dudas que hayan quedado en el aire(
'(D)*T+P #tml, '#tml, '#ead, 'meta name=""ie$port" content="$idt#=de"ice.$idt#0 minimum.scale=10 ma8imum.scale=1", 'title,Kotones con j?uer3 Mobile'-title, 'lin2 rel="st3les#eet" #ref="j4uer3.mobile.1.5.min.css" -, 'script src="j4uer3.1.6.1.min.js",'-script, 'script src="j4uer3.mobile.1.5.min.js",'-script, '-#ead, 'bod3, 'di" data.role="page", 'di" data.role="#eader",'#1,Kotones'-#1,'-di", 'di" data.role="content", 'a #ref="9" id ="boton" data.role="button" , ste es m3 buttton'-a, 'input t3pe="button" data.role="button" "alue="Koton input"-, 'input t3pe="submit" data.role="button" "alue="Koton input con t3pe submit"-, 'a #ref="9" data.role="button" data.inline="true" ,Tine el mismo anc#o del te8to'-a,
14
2ambi%n podemos ver este cdi#o !uncionando en un ejemplo ya construido. Espero que se diviertan con jQuery MobileQQ 0e momento lo dejamos hasta una prxima ocasin" donde hablaremos de cmo hacer listas m's atractivas con este !ramework. /o olviden dejar comentarios y apuntes sobre este art$culo.
Artculo por
Dairo Galeano
15
:asta aqu$ hemos conse#uido crear una lista sencilla" donde sus elementos servir'n como enlace para comunicarnos con otras tres p'#inas web. 5ada p'#ina esta relacionada de !orma directa con los elementos de la lista" es decir" que al dar clic sobre el elementos con texto de )5oche)" el nave#ador nos llevar' a una p'#ina que contiene in!ormacin acerca de los coches.
7a tarea con los divisores es muy sencilla y se consi#ue con un cdi#o como el si#uiente.
'ul data.role="list"ie$" , 'li data.role="list.di"ider",Medios de transporte terrestrses'-li, 'li,'a #ref="9coc#e" ,*oc#e'-a,'-li, 'li data.role="list.di"ider",Medios de transporte <Lreos'-li, 'li,'a #ref="9a"ion",<"iDn'-a,'-li, 'li,'a #ref="9aeroplano",<eroplano'-a,'-li, '-ul,
5omo pueden darse cuenta" es muy sencillo. -olo hay que a#re#ar dos elementos SliT en la posicin donde deseamos tener nuestros divisores" pero a estos elementos debemos asi#narle el atributo dataArole al cual le danos el valor de listA divider. 5on ese 8nico detalle es su!iciente para obtener un divisor en nuestras listas.
4ota5 En el cdi#o anterior los divisores se han identado a la derecha" pero eso simplemente es para que visualmente se puedan identi!icar mejor. -obra decir que en el cdi#o :2M7 estos san#rados no se tienen en cuenta por los nave#adores" aunque s$ nos sirven a los desarrolladores a leer mejor los cdi#os que creamos.
,angrado5 ?tro asunto que atae a las listas es que en su con!i#uracin por de!ecto no conservan un mar#en en la pa#ina. -i lo deseamos" podemos a#re#ar ese mar#en por medio de un nuevo atributo a nuestra lista" que se coloca de !orma directa en la etiqueta SulT del :2M7. Ese atributo es el dataAinset" el cual recibe un valor booleano" es decir" que si queremos producir el mar#en solo que darle valor de true al atributo. 5on esto obtendremos una lista que conservar' ciertos m'r#enes con respecto a la pa#ina" adem's de crearle un borde redondeado. 2odo eso se lo#ra con un cdi#o como este(
'ul data.role="list"ie$" data.inset="true",
16
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com 'emas gr!ficos de personali3acin5 7os componentes de inter!a& #ra!ica de usuario en jQuery Mobile comparten la #ran mayor$a de atributos" es decir" que a nuestra lista podemos modi!icar su dataAtheme con el !in de obtener una lista con color di!erente. Esto se consi#ue i#ual que se explic en los botones" con un cdi#o :2M7 como el si#uiente(
'ul data.role="list"ie$" data.inset="true" data.t#eme="b",
2ambi%n podemos hacer modi!icaciones en sus divisores a#re#ando un nuevo atributo en la etiqueta SulT. Es 8til hacer esto para que nuestros divisores se di!erencien de los dem's elementos" qued'ndonos un cdi#o como este(
'ul data.role="list"ie$" data.inset="true" data.t#eme="b" data.di"idert#eme="a",
5omo se puede observar" solo a#re#amos un nuevo atributo dataAdividertheme con el que se la da un tema a los divisores de la a lista" este es el )a)" con el conse#uimos un color ne#ro. El e!ecto es que los divisores aparecer'n con el color di!erente que asi#na jQuery Mobile por de!ecto.
17
Espero puedan comprender todo el cdi#o anterior. Lecomiendo leer otros art$culos previos del manual si es que tienes al#una duda sobre asuntos como el sistema multipa#inas de jQuery Mobile. 3ntes de acabar" quiero que se aprecie tambi%n que las tres p'#inas que contienen la in!ormacin de los medios de transporte Bcoche" avin" aeroplanoD" tienen una !orma de retorno al inicio. -on enlaces convertidos en botones" si no sabes cmo crear botones con jQuery Mobile revisa el art$culo publicado anteriormente. 2ambi%n puede ver el ejemplo en !uncionamientos en una p'#ina aparte. 5on esto les dejo hasta la prxima entre#a. 5omo siempre" es todo un placer poder compartir in!ormacin con ustedes. /os vernos pronto y no olvides dejar tus cometarios o dudas.
Artculo por
Dairo Galeano
7as alertas" o cualquier cuadro de dialo#o que creemos en jQuery Mobile" se construye con una sencille& sorprendente. 3dem's son altamente vers'tiles" ya que nos permiten hacer muchas cosas" y cuando di#o que muchas es porque los di'lo#os parecen no tener l$mites" viajando mas all' de una simple alert" con!irm0ialo#" o
18
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com input0ialo#. 7a ra&n por la que un cuadro de dialo#o en jQuery Mobile parece no tener l$mites es porque realmente son como una p'#ina web completa" ya sea de las m8ltiples en nuestro documento :2M7 o separada en un archivo aparte. @racias al hecho de ser una p'#ina independiente" podremos hacer multitud de cosas como a#re#arle im'#enes" crear !ormularios" anexarle botones" a#re#ar videos" o todo lo que soporte una p'#ina web corriente. 5on esto se puede entender el sin !in de aplicaciones y posibilidades que los cuadros de di'lo#o pueden tener en jQuery Mobile. *ero claro" tampoco podemos abusar de ellos" recordemos que aun si#uen siendo cuadros de di'lo#o.
4ota5 4uelvo a insistir en que debemos !ijarnos en el atributo dataArel" al cual se le asi#na el valor de )dialo#). 2odo lo dem's que necesitas saber para entender ese cdi#o ya ha sido explicado en art$culos anteriores" como 5rear botones con jQuery Mobile. 3simismo" tambi%n debes haber aprendido el manejo del sistema multiApa#inas" que o!rece el !ramework.
5on un botn como el que creamos en el cdi#o anterior" ya estar$amos haciendo de la pa#ina con id )dialo#o) un cuadro de di'lo#o. -in embar#o" tambi%n debemos crear un mecanismo de re#reso ya que" a di!erencia de las cajas de alerta convencionales que se crean con 9avascript" %stos no permanecen en la p'#ina que los invoca. 0ebes tener en cuenta que cuando se va a un cuadro de di'lo#o se viaja a trav%s del enlace a una nueva p'#ina" a pesar que jQuery Mobile produ&ca una visuali&acin di!erente. *ara re#resar nuevamente a la pa#ina" podrimos a#re#ar el si#uiente cdi#o en la pa#ina con id de )dialo#o).
'a #ref="9aja" data.role="button" data.rel="bac2",<ceptar'-a,
5omo se verse" en este caso tambi%n es un botn" con la di!erencia que esta ve& su atributo dataArel tiene el valor de )back). 5on esto no tenemos la necesidad de asi#nar la direccin al enlace hacia la p'#ina inicial. ncluso si le damos una direccin di!erente a la p'#ina de inicio" jQuery Mobile nos devolver' a la pa#ina que invoc el dialo#o.
19
>a solo bastar$a crear otra p'#ina web e identi!icarla como idM)dialo#o1)" en esta podr$amos por ejemplo hacer lo si#uiente.
'di" data.role="page" id="dialogo;", 'di" data.role="#eader" data.t#eme="b",'#1,dialogo con colores configurados'-#1,'-di", 'di" data.role="content" data.t#eme="a", ste es un cuadro de dialogo configurado 4ue esta dentro del mismo HTML del enlace 'a #ref="9" data.role="button" data.t#eme="e" data.rel="bac2",<ceptar'-a, '-di",
5omo puedes observar solo tenemos que asi#narle el atributo dataAtheme" con di!erentes valores" sobre la etiqueta :2M7 que crea el objeto. 0e esa !orma podemos obtener pa#inas y en este caso de cuadros de di'lo#o m's variados en color.
20
-era hasta una prxima" esperamos veros pronto y recuerda que puedes ver el ejemplo en !uncionamiento en una p'#ina aparte.
Artculo por
Dairo Galeano
-olo hay que a#re#ar un nuevo atributo dataAicon y asi#narle el valor de )home). 5on esto conse#uimos que nuestro botn ten#a un pequeo icono de una casa. *ero eso no es todo" jQuery Mobile dispone de iconos en varios colores y utili&ar' aquel que mejor se vea con el tema #r'!ico que est%s utili&ando en tu aplicacin. -upon#amos que tu botn tiene el tema )a)" con el que conse#uimos que elementos como botones sean de color ne#ro. En ese caso el icono ser' de color blanco" para que resalte. 3hora si tienes el tema )c)" que es un color con tono muy bajo" el !ramework le asi#nar' a nuestro botn un icono m's oscuro" siempre acorde al color del tema.
21
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com jQuery Mobile cuenta con una lar#a lista de iconos. 2odos se indican a trav%s de distintos valores del atributo dataAicon. 3l#unos ejemplos son los si#uientes( 6lecha hacia la i3$uierda( dataAiconM)arrowAl) 6lecha hacia la derecha5 dataAiconM)arrowAr) 6lecha hacia arriba5 dataAiconM)arrowAu) 6lecha hacia abajo5 dataAiconM)arrowAd) /liminar5 dataAiconM)delete) Mas5 dataAiconM)plus) Menos5 dataAiconM)minus)
4ota5 Esta es solo una lista parcial" por mencionar al#unos ejemplos. -i quieres saber la lista completa te invito a verla en la documentacin o!icial de jQuery Mobile.
5omo se puede ver" ahora usamos otro icono" con nombre )plus)" adem's en el cdi#o :2M7 a#re#amos el atributo dataAiconposM)bottom)" para poner el icono bajo el texto. Este atributo puede recibir los si#uientes valores para posicionar el icono( )top)" )le!t)" )ri#ht) y )bottom). -obra la explicacin de los resultados que obtendremos con cada uno de ellos. 3dem's de los valores mencionados anteriormente" el atributo dataAiconApos puede recibir un quinto valor" el cual es( )notext)" con el que eliminamos el texto de nuestro botn y solo aparecer' el icono que le hayamos asi#nado. 3hora crearemos un botn que solo tendr' nuestro icono" es decir" no aparecer' el texto. 7o a#re#aremos dentro del header" con el !in de obtener un botn parecido al de la documentacin de jQuery Mobile" al#o que conse#uimos con el si#uiente cdi#o(
'a #ref="9" data.role="button" data.icon="#ome" data.iconpos="note8t" class="ui.btn. rig#t",Gnicio'-a,
5omo pueden ver" no solo lo dejamos sin texto" tambi%n le asi#namos la clase 5-- )uiAbtnAri#ht) con el !in de que apare&ca a la derecha del header. 2odo esto viene prediseado en el !ramework" solo debemos usarlo" a trav%s del :2M7.
22
El ejemplo en marcha se puede ver en una p'#ina aparte. *ara terminar te invito a modi!icar el cdi#o y obtener di!erentes posiciones de los iconos" adem's de probar otras im'#enes de las que o!rece el !ramework.
Artculo por
Dairo Galeano
23
5omo debemos saber" si hemos se#uido la marcha del Manual de jQuery Mobile" a todo lo que tiene que ver con los wid#ets del !ramework" debemos a#re#arle el atributo dataArole. En este caso recibe el valor de )navbar). 3dem's" como se aprecia en el cdi#o anterior" tenemos que crear una estructura en :2M7" con un un elemento 0 4" dentro del cual debe estar contenida una lista BElemento ;7D. *ero atencin porque esta lista no or#ani&ar' sus elementos uno debajo del otro" sino uno a continuacin del otro" es decir" crea una barra hori&ontal. En este momento" tal ve& al#unos lectores se preocupen por el espacio" en caso de que" al expandirse de !orma hori&ontal" no quepan todos los elementos en las a menudo estrechas pantallas de los dispositivos. El problema lo resuelve jQuery Mobile de !orma muy e!iciente" ya que cada uno de los elementos tiene el mismo ancho" es decir que si tenemos dos elementos" cada uno tendr'" la mitad del ancho de la barra" y si son tres entonces cada uno ser' de un ancho i#ual a un tercio de la barra. 3un hay m's" pues si la pantalla es muy pequea" o son muchos elementos" entonces mostrar$a la barra en varias l$neas" pasando de una !ila de elementos a una rejilla o tabla.
Agregando temas
3 lo lar#o del Manual de jQuery Mobile" hemos visto que para a#re#ar temas a cualquiera de los wid#ets" presentes en el !ramework" solo debemos colocar el atributo dataAtheme. -in embar#o" en las barras de nave#acin no !unciona as$. Es decir" si en nuestro elemento 0 4 hacemos esto" no se provocar' nin#8n cambio. En cambio" si queremos que todos los elementos de la barra de nave#acin se vean di!erentes al que jQuery Mobile le asi#na por de!ecto" debemos a#re#ar el dataAtheme en el elemento que contiene a nuestra barra" que en este caso es el pie de la p'#ina. -i hacemos lo que se explicaba anteriormente terminar$amos por construir un pie de p'#ina como el si#uiente.
'di" data.role="footer" data.position="fi8ed" data.t#eme="b", 'di" data.role="na"bar", 'ul, 'li,'a #ref="9j4" data.icon="star",j?uer3'-a,'-li, 'li,'a #ref="9j4ui" data.icon="plus", j?uer3 JG '-a,'-li, 'li,'a #ref="9j4m" data.icon="grid", j?uer3 Mobile '-a,'-li, '-ul, '-di", '(.. -na"bar .., '-di", '(.. -footer ..,
5omo puedes ver adem's de a#re#ar el tema )b) al pie de la p'#ina" con el que obtenemos el color a&ul" tambi%n le puse un icono a cada uno de los elementos que componen la barra de nave#acin. -i no sabes cmo trabajar con iconos" revisa el art$culo anterior del manual de jQuery Mobile donde nos dedicamos a explicar el tema de los iconos y sus con!i#uraciones. *ero cabe resaltar que a cada uno de los elementos" puedes asi#narle un tema di!erente. 2al ve& quieras que al#uno resalte" como por ejemplo el que tiene el texto jQuery Mobile" al#o que conse#uimos con un cdi#o como el si#uiente.
'li,'a #ref="9 j4m" data.icon="grid" data.t#eme="e" data.transition="flip", j?uer3 Mobile '-a,'-li,
3hora hemos a#re#ado un dataAtheme a un solo elemento" pero qui&'s les llame la atencin" el atributo dataAtransition. 5on esa con!i#uracin lo#ramos que al pasar de una p'#ina a otra se modi!ique la transicin normal que hace jQuery Mobile.
24
4ota5 7a transicin !lip no !unciona muy bien en nave#adores Fire!ox e ntenet Explorer. -i quieres ver el e!ecto debes probarlo en @oo#le 5hrome o -a!ari" tambi%n es di!erente el e!ecto que se #enera en los dispositivos 3ndroid 1.1" donde hemos probado el e!ecto y no es el resultado que se obtienen en dispositivos con i?- G.x. En i?- =.I !unciona per!ecto tambi%n.
25
5on todo esto hemos aprendido dos tpicos de jQuery Mobile. *or un lado las mencionadas barras de nave#acin" pero tambi%n hemos dado un primer repaso a las transiciones entre p'#inas. /os vemos en una prxima" recuerda dejar tus comentarios y apuntes. 0e tarea te queda hacer las dos p'#inas restantes" o bien puedes verlas ya reali&adas en el ejemplo completo en una p'#ina aparte.
Artculo por
Dairo Galeano
26
5omo puedes ver" es solo un elemento /*;2 Bya que el label realmente no !orma parte del slider" simplemente coloca un texto al ladoD. -er' jQuery Mobile el que se tome el trabajo de a#re#ar el 5-- correspondiente para que !uncione de manera e!iciente.
4ota5 *ara quienes no est'n relacionados con este nuevo /*;2 de :2M7=" cabe comentar que las nuevas especi!icaciones del len#uaje de la web contienen .6 nuevos tipos de campos /*;2. 5ada uno de estos nuevos /*;2 son importantes sobre todo" para dispositivos t'ctiles" ya que dependiendo del tipo de input aparecer' un teclado virtual acorde para rellenar el campo. *odremos encontrar" entre otros" campos espec$!icos para(
nput typeMKtelK( Formato para n8meros de tel%!onos. nput typeMKsearchK( Formato para campos de b8squeda. nput typeMKurlK( Formato para escribir direcciones web. nput typeMKnumberK( Formato para escribir valores num%ricos. nput typeMKemailK( Formato para direcciones de email. nput typeMKran#eK( 5on este trabajamos en el presente articulo. nput typeMKdatetimeK( Util para !echas y horas.
*ara vuestra in!ormacin" estamos preparando documentacin sobre este asunto que pronto aparecer' en 0esarrolloCeb.com.
7a etiqueta :2M7" como has visto" no tiene cdi#o 9avascript por nin#una parte. Es decir" jQuery Mobile lo implementa todo sin que debas preocuparte de nada. -in embar#o" debes tener en cuenta que el slider se cree a partir de un elemento /*;2" pues" de no hacer esto" el !uncionamiento del slider no estar$a #aranti&ado. 7as otras opciones que tenemos a disposicin de los sliders est'n relacionadas con los aspectos visuales del wid#et. 5omo ya podemos saber" disponemos del atributo dataAtheme para modi!icar el color de los componentes. 3dicionalmente" los slider cuentan tambi%n con dataAtrackAtheme. 3s$ que si lo que queremos es un slider con variedad de colores tanto en el control que se desli&a como en la ruta por donde pasa el control" necesitar$amos un cdi#o como el si#uiente(
'label for="slider1",Ilider Iimple con temas@ '-label, 'input t3pe="range" name="slider1" id="slider1" ma8="155" min="1" "alue="B5" data.t#eme="b" data. trac2.t#eme="a"-,
5omo se puede notar ahora hemos cambiado los atributos antes mencionados" lo cual no requiere mayor explicacin si has se#uido el Manual de jQuery Mobile hasta este punto.
27
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com siendo )slider). 4eamos un cdi#o de ejemplo con el cual podemos crear uno de estos interruptores.
'select name="slider" id="flip1" data.role="slider", 'option "alue="off",)ff'-option, 'option "alue="on",)n'-option, '-select,
5omo se puede ver" es un elemento -E7E52 con el atributo dataArole" al cual asi#namos el valor )slider). 3dem's" cabe !ijarse tambi%n en los dos elementos ?*2 ?/" que expresan los distintos estados del interruptor. *ara indicar a jQuery Mobile cuando est' encendido y cuando est' apa#ado debemos con!i#urar los value de los ?*2 ?/. *uedes ver en el cdi#o de ejemplo los valores en el atributo value" )o!!) en el primero y )on) en el se#undo.
4ota5 -i haces m's ?*2 ?/ de los debidos" jQuery Mobile creara el slider de todas !ormas" pero no ser' nada a#radable el resultado" obtendr's las tres opciones" pero enredadas. 0e i#ual !orma" si no le das por ejemplo el valor al atributo value de la opcin de encendido" el interruptor no !uncionar'.
3 la hora de crea un interruptor tambi%n lo puedes personali&ar" con los temas que disponemos en el !ramework. *ara esta tarea disponemos del atributo dataAtheme" dejando a 9Query Mobile !ramework la tarea de hacer la combinacin de temas entre las dos opciones.
Conclusin
5on el !in de obtener componentes mas vistosos y uni!ormes" ser' el propio !ramework quien se encar#ue que la con!i#uracin visual de cada uno de los elementos /*;2 que se implementen en modo de slider. *or tanto" nuestra tarea de codi!icacin se queda en m's bien poco. /o obstante" como de costumbre" dejamos el cdi#o de un ejemplo completo" con todo lo explicado en este articulo.
'(D)*T+P #tml, '#tml lang="es", '#ead, 'meta c#arset="utf./", 'meta name=""ie$port" content="$idt#=de"ice.$idt#0 minimum.scale=10 ma8imum.scale=1", 'title,Iliders con j?uer3 Mobile'-title, 'lin2 rel="st3les#eet" #ref="j4uer3.mobile.1.5.min.css" -, 'script t3pe="te8t-ja"ascript" src="j4uer3.1.6.1.min.js",'-script, '-#ead, 'bod3, 'di" data.role="page", 'di" data.role="#eader", '#1,Iliders'-#1, '-di", 'di" data.role="content", 'di" data.role="content", 'form action="9" met#od="get", 'di" data.role="fieldcontain", 'label for="slider",Ilider Iimple@ '-label, 'input t3pe="range" name="slider" id="slider" ma8="155" min="1" "alue=";O" -, 'br, 'label for="slider1",Ilider Iimple con temas@ '-label, 'input t3pe="range" name="slider1" id="slider1" ma8="155" min="1" "alue="B5" data.t#eme="b" data.trac2.t#eme="a"-, 'br, 'label for="flip1",Ieleccionar una de dos opciones'-label, 'select name="slider" id="flip1" data.role="slider", 'option "alue="off",)ff'-option, 'option "alue="o",)n'-option, '-select, '-di", '-form, '-di", 'di" data.role="footer", '#=,Iliders'-#=, '-di",
28
Lecuerda que tambi%n puedes ver el ejemplo en una p'#ina aparte" para comprobar su !uncionamiento. :asta una prxima entre#a.
Artculo por
Dairo Galeano
5omo puedes observar en el cdi#o anterior" dentro del elemento 0 4 debemos hacer un encabe&ado" que ser' el t$tulo del collapasible. 3 continuacin hacemos un p'rra!o dentro del 0 4" el cual es el contenido del elemento" donde podemos insertar cualquier etiqueta :2M7 como contenido. *or de!ecto" el collapasible aparece reco#ido" pero si se requiere podemos con!i#urar el wid#et para que apare&ca abierto al car#ar la p'#ina. *ara ello solo hay que a#re#ar el atributo dataAcollapsed" que recibe un valor booleano. 7a !orma de usarlo es muy simple y se puede apreciar en el si#uiente cdi#o.
'di" data.role="collapsible" data.collapsed="false", '#=, lemento *ollapsible abierto'-#=, 'p, ste es el contenido del collapsible el cual podemos ocultar'-p,
29
5on esto estamos creando un collapsible que al car#ar la p'#ina est' abierto. 3dem's quise a#re#ar un botn" al#o que ya hemos aprendidos en art$culos pasados del manual de jQuery Mobile" para ilustrar que podemos meter cualquier elemento dentro de este wid#et. *or ri&ar el ri&o" podr$amos insertar hasta otro collapsible dentro del primero.
5omo se puede apreciar" tambi%n est' inmerso un collapsible" cada uno puede tener sus temas di!erentes" aunque tambi%n se puede trabajar con el tema que tiene el collapsible padre.
0entro de este elemento 0 4 a#re#amos todos los collapsibles que deseemos" haciendo que cada uno se comporte como un elemento del acorden. 5omo puedes ima#inar" a los acordeones tambi%n se les puede aplicar temas #r'!icos con dataAtheme o dataAcontentAtheme" para que cada uno de sus elementos ten#a el mismo color. 3unque tambi%n puedes asi#nar un tema di!erente a cada uno de los elementos. *ara mayor claridad de todo lo explicado en este art$culo veamos el cdi#o completo de una pequea aplicacin web mvil que ilustra el uso de collapsible.
'(D)*T+P #tml, '#tml lang="es", '#ead, 'meta c#arset="utf./"-, 'meta name=""ie$port" content="$idt#=de"ice.$idt#0 minimum.scale=10 ma8imum.scale=1", 'title,*ollapsible con j?uer3 Mobile'-title,
30
Lecuerda que tambi%n puedes ver un ejemplo en !uncionamiento en una p'#ina aparte.
Artculo por
Dairo Galeano
31
7o primero que hacemos es crear un elemento 0 4" que tendr' como clase 5--" )uiA#ridAa). 5on tal clase le indicamos al !ramework que justo all$ inicia nuestra #rilla" que en este caso es de dos columnas. 5omo dije anteriormente no solo pueden tener dos columnas" pues podremos crear #rilla que ten#an hasta cinco. *ara especi!icar las columnas que deseamos implementar est'n las si#uientes clases. *ara #rillas con dos columnas le asi#namos la clase( uiA#ridAa. *ara #rillas con tres columnas le asi#namos la clase( uiA#ridAb. *ara #rillas con cuatro columnas le asi#namos la clase( uiA#ridAc. *ara #rillas con cinco columnas le asi#namos la clase( uiA#ridAd.
;na ve& establecida la #rilla" debemos proceder con la creacin de los bloques" uno por columna. En el cdi#o anterior son dos bloques" cuya creacin se lo#ra tambi%n con la asi#nacin de clases 5--. 5omo se habr' podido observar" asi#namos al primer elemento 0 4 la clase )uiAblockAa)" mientras el se#undo tiene )uiAblockAb). 3l i#ual que con las #rillas" lo bloques van aumentando de acuerdo con el n8mero que hayamos establecido en la #rilla. -olo debemos cambiar la 8ltima letra. *ara crear el primer bloque usamos la clase uiAblocAa. *ara crear el se#undo bloque usamos la clase uiAblocAb. *ara crear el tercer bloque usamos la clase uiAblocAc. *ara crear el cuarto bloque usamos la clase uiAblocAd. *ara crear el quinto bloque usamos la clase uiAblocAe.
5ada uno de los bloques" tiene el mismo ancho" al#o parecido a lo que pasa con las barras de nave#acin explicadas en un art$culo anterior del manual de jQuery Mobile. 3s$ que si tenemos cinco columnas" cada uno de los bloques" tendr' el 1EX de ancho del documento web o elemento contenedor de la #rilla.
32
3hora obtenemos dos columnas" la primera tiene un color amarillo" asi#nado por el tema )e)" mientras que la se#unda tiene es a&ul" al tener asi#nado el tema )e).
4ota5 7as clases para darle color a las columnas y #rillas" tambi%n se pueden poner en elemento div" que tienen las clases )uiAdridAa) o )uiAblocAa)" pero la documentacin de jQuery Mobile no lo recomienda.
33
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com -lo debemos crear dos bloques mas" despu%s de los in$ciales" es decir" que si nuestra #rilla es de tres columnas" debemos crear seis bloques para obtener dos !ilas. *ara mayor claridad dejo un cdi#o de ejemplo con todo lo visto en el presente art$culo.
'(D)*T+P #tml, '#tml, '#ead, 'meta name=""ie$port" content="$idt#=de"ice.$idt#0 minimum.scale=10 ma8imum.scale=1", 'title,*ulumnas con P?M'-title, 'lin2 rel="st3les#eet" #ref="j4uer3.mobile.1.5.min.css" -, 'script src="j4uer3.1.6.1.min.js",'-script, 'script src="j4uer3.mobile.1.5.min.js",'-script, '-#ead, 'bod3, 'di" data.role="page" id="inicio", 'di" data.role="#eader" data.position="fi8ed", '#1,*olumnas'-#1, '-di",'(.. -#eader .., 'di" data.role="content" , 'span class="ui.btn.acti"e",Dos columnas simples'-span, 'di" class="ui.grid.a", 'di" class="ui.bloc2.a" , 'di" class="ui.bar ui.bar.e", 'strong, sta es la columna numero 1'-strong, l te8to 4ue se ecriba a4ui se almodarC a la mitad de pagina. '-di", '-di", 'di" class="ui.bloc2.b", 'di" class="ui.bar ui.bar.b", 'strong, sta es la columna numero ;'-strong, l te8to 4ue se ecriba a4ui se almodarC a la otra mitad de pagina. '-di", '-di", '-di",'(.. -grid.a .., 'br, 'span class="ui.btn.acti"e",Dos columnas simples con dos filas'-span, 'di" class="ui.grid.a", 'di" class="ui.bloc2.a" , 'di" class="ui.bar ui.bar.e", 'strong, sta es la columna numero 1'-strong, mitad de pagina. '-di", '-di", 'di" class="ui.bloc2.b", 'di" class="ui.bar ui.bar.a", 'strong, sta es la columna numero ;'-strong, otra mitad de pagina. '-di", '-di", 'di" class="ui.bloc2.a" , 'di" class="ui.bar ui.bar.c", 'strong, sta es la columna numero 1'-strong, mitad de pagina. '-di", '-di", 'di" class="ui.bloc2.b", 'di" class="ui.bar ui.bar.b", 'strong, sta es la columna numero ;'-strong, otra mitad de pagina. '-di", '-di", '-di",'(.. -grid.a con dos filas..,
34
'-di",'(.. -content .., 'di" data.role="footer" data.position="fi8ed", '#=,Frillas'-#=, '-di",'(.. -footer .., '-di",'(.. -page .., '-bod3, '-#tml,
2ambi%n puedes ver el ejemplo en marcha en una p'#ina aparte" donde podr's apreciar las tres columnas tambi%n" adem's de las tres !ilas" cdi#o que no dejo completo" para no redundar mucho" as$ que si lo quieres puedes ver el cdi#o !uente del ejemplo.
Artculo por
Dairo Galeano
35
Tu mejor ayuda para aprender a hacer webs www.desarrolloweb.com *ara arrancar" tenemos tres temas que van de la 3 a la 5" pero podemos ir a#re#ando m's se#8n nuestras necesidades. 3s$ que si quieres crear una aplicacin muy variada en colores" puedes hacer temas hasta lle#ar a letra Y. En las opciones que tenemos para las con!i#uraciones #lobales podemos hacer cambios como( 5ambiar el tipo de la !uente 5ambiar el radio de los bordes Modi!icar el color de los iconos y muchas otras cosas...
>a solo es cuestin de qu% necedades ten#as o la !orma en que quieras que se vean tus aplicaciones. 0espu%s" puedes ir modi!icando uno a uno los temas" dentro de los cuales ya encontramos con!i#uraciones m's particulares. En el centro de la p'#ina contamos con un visuali&ador de cada uno de los temas" donde podemos ver en tiempo real los cambios que estamos creando en nuestro tema actual. Rsto nos ayuda a orientarnos sobre los resultados !inales que obtendremos" mostr'ndonos di!erentes wid#ets que maneja el !ramework" como listas" botones" barras entre otros.
5omo veis" las secciones son muy ilustrativas y no se requieren #randes con!i#uraciones" pues todo est' servido para hacerlo de manera #r'!ica" manejando los colores a trav%s de paletas donde podemos seleccionarlos y muchas otras cosas que convierten a 2hemeLoller en una herramienta muy 8til. *ara solucionar el problema antes planteado de la ausencia de colores como el rojo o el verde" debemos simplemente crear un tema personali&adom donde incluimos esos colores" adem's de a#re#ar un sexto tema.
36
En este caso" estamos usando para el tema modi!icado el nombre )temaApersonali&ado)" en su versin comprimida" pues en la carpeta de themes dentro del .&ip encontramos dos archivos 5-- para el mismo tema. ?tro caso particular es que no se usa el archivo )jquery.mobileA..E.min.css)" sino uno con un nombre )jquery.mobile.structureA..E.min.css). Este archivo es muy importante" pues al no incluirlo no !uncionar' el ejemplo. Ese archivo tambi%n se descar#a junto con el .&ip que obtenemos al descar#ar jQuery Mobile" as$ que puedes tambi%n ponerlo a trabajar de !orma local" sin necesidad de usar el 50/. *ara terminar nos #ustar$a deciros que un buen diseo con 2hemeLoller depende del empeo" por eso te invitamos a trabajar con %l" para obtener aplicaciones jQuery Mobile m's personali&adas.
Artculo por
Dairo Galeano
37