Izdelava mobilnih aplikacij / navigacija gradnje Devov z jQuery
Pametni telefoni so zdaj opremljeni z zelo učinkovitimi spletnimi brskalniki. JavaScript je močnejši kot kdajkoli prej in ga je mogoče razširiti s pomočjo knjižnic kod, kot je jQuery. Ko dodate najnovejše specifikacije HTML5 / CSS3, je možno izdelati zelo privlačne mobilne spletne aplikacije z nekaj osnovnimi kodami.
V tej vadnici bom prikazal, kako lahko zgradite spletno mesto / spletno aplikacijo, ki temelji na mobilnih napravah. Uporabili bomo medijske poizvedbe CSS3 za ciljanje na določene naprave in ločljivosti zaslona. Poleg tega vam malo jQuery pomaga animirati meni in naložiti zunanjo vsebino strani s pomočjo klicev Ajax. Še bolje, postavitev se lahko celo razširi, da se prikaže pravilno v običajnih namiznih brskalnikih, kot sta Chrome ali Firefox.
- Predstavitev v živo
- Izvorna koda
Določanje strukture strani
Začnimo tako, da najprej preberemo HTML stran in jo oblikujemo s pomočjo nekaterih pravil CSS. Preskočil bom večino nenavadnih metaoznak v glavi, ker ne vplivajo neposredno na spletno aplikacijo. Vendar pa je nekaj, ki jih moram omeniti, in sicer iz spodnjega odseka:
X-UA-Združljiv se uporablja za opis, kako naj se vaš dokument upodobi v nekaterih brskalnikih. To je zanimiv scenarij pri kodiranju v HTML5, tako da ne bi preveč skrbel glede tega. Vendar meta pogled je zelo pomembna. Okno mobilnega brskalnika nastavi na 100% namesto standardnega povečanega učinka.
Uporabniško povečavo lahko tudi onemogočite z vrednostjo vsebine user-scalable = ne
. Toda v tem primeru želimo nastaviti širino celotnega zaslona, ki bo enaka širini naše naprave. Oznake spletnih aplikacij Apple omogočajo, da se spletno mesto shrani kot ikona domačega zaslona na vaš iPhone ali iPod Touch. Ni povsem potrebno, ampak vsekakor vredno.
Vsebina notranjega telesa
V notranjosti oznake za telo sem namestil ovoj divja z ID-jem #w
. Znotraj sem lomil postavitev v še dva divja dela z uporabo ID-jev #pagebody
in #navmenu
. Celotna širina strani je omejena na 640px po izbiri, tako da je postavitev skalirana na strogo številko.
Meni povezave
Navigacijski meni ima nižjo vrednost z-indeksa, tako da #pagebody
je vedno na vrhu. To je ključnega pomena, saj bo koda JavaScript drsela po telesu strani določeno število slikovnih pik, da prikaže navigacijo pod njo.
Pred vsako .html stranjo sem uporabil simbol razpršitve (#), da bi zaustavil slabo vedenje v storitvi Mobile Safari. Kadarkoli kliknete povezavo, se prikaže vrstica URL in potisne vsebino navzdol. Toda pri sklicevanju na ID ničesar ni mogoče ponovno naložiti, razen prek klicev JavaScript.
Pozicioniranje CSS
V naši CSS kodi ni veliko nejasnih vsebin. Večina pozicioniranja se opravi ročno in nato manipulira preko jQuery. V našem dokumentu pa je nekaj zanimivih del.
/ ** @group osnovno telo ** / #w #pagebody position: relative; levo: 0; max-width: 640px; min-width: 320px; z-indeks: 99999; #w #navmenu ozadje: # 475566; višina: 100%; prikaz: blok; položaj: fiksno; širina: 300px; levo: 0px; vrh: 0px; z-indeks: 0;
Ta vrhnji segment določa sloge za oba dela strani. Naš navigacijski meni je širok le 300 pikslov, tako da je ostalo malo prostora za vsebino strani, ki jo še vedno lahko vidite. Meni menija za odpiranje / zapiranje se nahaja tudi na levi strani in je vedno dostopen. Najpomembnejši del je vrednost lastnosti z-indeksa in uporaba položaj: fiksno;
na našem navmenu.
Zgornja glava orodne vrstice je tudi zanimiv del. To je nastavljeno na fiksni položaj, tako da se bo pomikalo z vsebino strani. To podvoji podoben učinek, kot bi ga našli v kateri koli naslovni vrstici aplikacije iOS.
/ ** @group header ** / #w #pagebody header # toolbarnav display: block; položaj: fiksno; levo: 0px; vrh: 0px; z-indeks: 9999; ozadje: # 0b1851 url ('img / tabbar-solid-bg.png') zgoraj levo brez ponovitve; obrobni polmer: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -okrajni polmer: 5px; polmer rob-spodaj-desno: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0; polmer meje-spodaj levo: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0; višina: 44px; širina: 100%; max-width: 640px; #w #pagebody header # toolbarnav h1 text-align: center; padding-top: 10px; padding-right: 40px; barva: # e6e8f2; font-weight: krepko; velikost pisave: 2.1em; text-shadow: 1px 1px 0px # 313131;
Pravila za mobilne naprave
Zelo preprosto je opaziti, da uporabljam tudi sliko za ozadje za modro strukturo naslovne vrstice. To je velikost 640 × 44 slikovnih pik, da ostane skladna struktura postavitve. Toda razvil sem tudi sliko @ 2x za zaslone retine iPhone / iPad. Ogledate si lahko obe sliki spodaj ali pa ju vzemite iz moje demo izvorne kode.
- System/demo/img/[email protected]
- System/demo/img/[email protected]
Mobilni CSS sem za to funkcijo nastavil v drugi datoteki z imenom responsive.css. Vsebuje dve medijski poizvedbi, ki nadomestita naslovno vrstico bg in ikono menijskega gumba za naprave z mrežnico.
/ ** retina display ** / @media samo zaslon in (-webkit-min-naprava-pixel-razmerje: 2), samo zaslon in (min - moz-device-pixel-razmerje: 1.5), samo zaslon in ( razmerje min-device-pixel: 1.5) #w #pagebody header ozadje: # 0b1851 url ('img/[email protected] ') zgoraj levo brez ponovitve; velikost ozadja: 640px 44px; #w #pagebody header # menu-btn ozadje: url ('img/[email protected] ') brez ponavljanja; velikost ozadja: 53px 30px;
Oblikovanje puščic menija
V navigacijskem področju sem na desno stran vsake menijske povezave vključil tudi ikono majhne puščice. To lahko enostavno zamenjate s sliko iz vseh ustvarjalnih del. Toda večinoma bodo vsi ljubitelji CSS3 radi testirali to metodo.
#w #navmenu ul li a :: after content: "; display: block; širina: 6px; višina: 6px; meja-desna: 3px solid # d0d0d8; border-top: 3px solid # d0d0d8; položaj: absolutna, desna : 30px; top: 45%; -webkit-transform: rotate (45deg); -moz-transform: rotate (45deg); -o-transform: rotate (45deg); transform: rotate (45deg); #w #navmenu ul li a: hover :: after border-color: # cad0e6;
Uporabljamo transform
lastnost za ustvarjanje majhne meje po vsebini. Prav tako sem nastavil položaj: absolutno;
zato lahko te meje prosto premikamo okoli elementa notranje povezave. Zelo enostavno je spremeniti barvo obrobe v stanju lebdenja, ki ponuja bolj dinamičen občutek. To je precej neverjetno, kaj lahko dosežete samo z uporabo osnovnih pravil HTML5 in CSS3.
Zdaj pa se premaknimo k bitovam in delom kode JavaScript. Ne pozabite, da to zahteva knjižnico jQuery, da se moja koda pravilno izvaja.
jQuery Animirana
Pri pisanju teh kod po meri sem ustvaril popolnoma nov dokument z imenom script.js. Lahko jih napišete neposredno v >