Nedávno jsem dostal v práci naprogramovat trochu
složitější a inteligentnější formulář. Nejprve jsem si myslel, že to
nakóduji „z fleku“, ale protože jsem před nedávnem dočetl jednu velmi
zajímavou knihu o JavaScriptu (John
Resig: JavaScript a Ajax), kde se hodně psalo o různých javascriptových
knihovnách, které ulehčují práci, rozhodl jsem se, že to také
zkusím.
Po chvíli brouzdání na internetu padla volba na JQuery – tedy už před tím brouzdáním jsem měl na něj spadeno, neboť se mi velmi líbil způsob jeho zápisu. Podívejte se na pár ukázek.
Pomocí selektorů (jak je znáte z aplikování stylů) naleznete na stránce jakýkoliv element.
$("#myDiv").css("border","3px solid red");
Další operátory viz API reference – oddíl selektory
Jakmile najdete pomocí stylových selektorů objekt, se kterým chcete něco dělat, zavoláte všechny funkce z jednoho řádku:
$("a").addClass("test").show().html("foo");
Obsluha událostí není žádným problémem
$('#myform .textinput').bind("change keydown
keypress keyup click", function(e){ ... });
Toto je jen zlomek, JQuery toho umí mnohem více – má funkce pro práci s DOM, Ajaxem, styly, efekty… ale hlavně má dobrou dokumentaci a spoustu pluginů, které dále rozšiřují množnosti knihovny.
Při své práci jsem s úspěchem použil plugin Validation pro kontrolu formuláře. Umožnil mi udělat naprosto vše, co jsem potřeboval, takže jsem měl validaci plně pod kontrolou.
Dále je uveden základní výčet, co plugin Validation umožňuje
Pokud s JavaScriptem občas pracujete, věnujte trochu času na prostudování knihovny JQuery, určitě se vám to v budoucnu několikanásobně vrátí.
Nikdy dříve jsem hotové javascriptové knihovny (frameworky) moc nepoužíval. Jak jste na tom vy? Co používáte?
Knihovnu JQuery už používám téměř dva roky a upřímně se divím, že v dnešní době interaktivních webových aplikací, kde je javascript přítomen na každém kroku, ještě někdo funguje bez pomoci javascriptových frameworků. Takový přístup je podle mě příšerným plýtváním vývojářským časem.
[1] No ono taky záleží jak často člověk dělá něco s JavaScriptem a jak komplikované skripty potřebuje vytvořit.
Když potřebuji otestovat formulář se třemi políčky, kde jedno je povinné, pak je nějaký framework zbytečně „velkej kanón“ a z hlavně z fleku to mám naprogramovaný mnohem rychleji.
Ale souhlasím s tím, že od určité velikosti / komplikovanosti skriptu jsou frameworky nezpochybnitelným ulehčením práce.
Pro úplnost dodám, že autorem JQuery je ten samý John Resig jako autor zmiňované (mimochodem skutečně výborné) knihy. JQuery taktéž používám již nějakou dobu. Nejen, že rapidně usnadňuje práci s DOMem, ale také zastřešuje rozdílné implementace v browserech, takže programátor už na to nemusí myslet.
Predtým než som našiel jQuery som si netrúfal na javascriptové záležitosti. Na otázku či ovládam javascript som vždy odpovedal že nie, dnes si vďaka jQuery trúfnem aj na náročné javascriptové a ajaxové aplikácie, má skvelé pluginy a zápis. Odporúčam každému, kto ešte nevyskúšal.
[2] Pravda, na jednoduché validace samotný javascript postačí. To, co jsem chtěl zdůraznit, je ten fakt, že současnost vyžaduje od tvůrců webů komplexní a složité skripty v JS čím dál tím častěji. A každý další jen trochu složitější projekt, který musím nakódovat svépomocí bez frameworku, mě stojí hrozně moc zbytečného úsilí a času. Práci s JS frameworky neodkládat! :)
Re 1, 2 a 5: Já bych lehký JS framework typu JQuery doporučil i u validace tří políček, protože opačný přístup je podle mě typická ukázka „předčasné optimalizace“ (JQuery šetří cykly mozku programátora, čistý JavaScript šetří cykly procesoru uživatelova počítače). Osobně nechci mít nic společného s něčím, co začíná „předčasná“ a končí „…ace“ :)
Poznámka k ankete: myslím, že Prototype a Scriptaculous by mali byť v jednej položke, keďže to druhé je nadstavba prvého.
dokáže mi někdo fundovaně říct jestli je prototype objektivně horší/lepší než jquery a proč ? Osobně do toho vůbec nevidím a ty příklady co uvádíte myslím dokonce budou fungovat i pod ním
Malý dodatek: na Inervalu je o JQuery pěkný článek – JavaScript s jQuery – lehký úvod
[7] a [8] mi sebrali slova z jazyka (resp. prstů nad klávesnicí).
[8] by mě zajímalo. Tipl bych taky, že globálně je prototype používanější.
[2] Myslím, že je to jen otázka, než se s JQuery člověk naučí zacházet. Jakmile to již umí, je to s ní rychlejší než cokoliv psát ručně. Podobně to funguje i jiných technologií, třeba u ohřívání mléka v mikrovlnce vs. v hrnku na vařiči :-)
← Jak projít testem pro fotografy na iStocku Dreamstime - podrobný návod na nahrání fotek k prodeji (aktualizováno 11.9.2009) →
Už jste zkusili prodávat fotky a ilustrace přes fotobanky?
Všechny články o fotobankách
Knihy o webdesignu, grafice, digitální fotografii.
Kompletní seznam nabízených knih
Domény zdarma
Český hosting dává domény zdarma k webhostingu -
www.cesky-hosting.cz
Kozoroh (Pořadí odkazů na stránce pomocí atributu TABINDEX)
Kozoroh (Pořadí odkazů na stránce pomocí atributu TABINDEX)
Jirka (Jak exportovat grafiku z Illustratoru pro fotobanky)
Petr Václavek (Jste grafik / grafička a hledáte práci? Zkuste kreslit pro fotobanky!)
Petr Václavek (10 tipů pro fotografy, jak se dostat na fotobanku Shutterstock)
75 % Ian McEwan: Betonová zahrada
No popravdě, čekal jsem podle komentářů ještě brutálnější příběh ale i tak mě z toho běhal mráz po zádech.
90 % Miroslav Žamboch: Bez slitování
Další klasika od Žambocha, moc se mi na tom líbílo, že se odehrává ve stejném světě jako "Koniášovky" (no vlastně Bakly a Koniáš se jednou i potkali).
ColorSuckr
Webové udělátko, které z vámi zadaného obrázku vygeneruje paletu 12ti barev.
[Barvy]
Pdfcrowd
Služba, která nabízí skripty a své API pro snadnou konverzi HTML do PDF. Zajímavá je možnost přidat na web jednoduchý odkaz, který po vložení do libovolné stránky umožňuje stažení její PDF verze.
[Tvorba stránek - návody, nástroje]
Honzova Hypotéka
Pokud hodláte kupovat nemovitost (dům či byt), tak se vám bude hodit tato hypotečně poradní služba - po zadání základních údajů o nemovitosti, své bonitě a výši hypotéky vám budou banky a hypoteční poradci nabízet své produkty. První odpovědi dostanete již během hodiny, další v průběhu týdne. Já sám jsem jich získal téměř dvacet a dozvěděl jsem se, jaké jsou na trhu možnosti - to vše zdarma - k ničemu se nezavazujete. Samozřejmě, když vás nějaká nabídka zaujme, tak se můžete zdarma spojit s nabízející bankou/poradcem a nabídku dotáhnout do finále - uzavření smlouvy.
[Různé]
Hypoteční kalkulačka
Končeně pořádný hypoteční kalkulátor, který nejen vypočítá měsíční splátku hypotéky, ale zobrazí také splátkový kalendář po jednotlivých splátkových obdobích rozdělených na úroky a umoření splátky.
[Různé]
CSS chyby a nekonzistence ve Firefoxu 3.x
Přehled chybného interpretování CSS u Firefoxu (bohužel bez nástinu řešení)
jPlayer
jQuery audio player plugin pro vaše stránky - lze snadno nastylovat, obsahuje i čistě textovou verzi a vypadá dobře.
Better drop shadows
Jednoduchá technika jak udělat ve Photoshopu realističtější stíny.
13 Simple CMS Options
Tipy na jednoduché redakční systémy, které mnohdy nepotřebují ani databázi.
Nejlepší jQuery lightboxy
Článek s přehledem lightboxů založených na knihovně jQuery.
jQuery News Ticker
Docela pěkný a jednoduchý news ticker pro jQuery. Právě jsem ho použil na jednom webu.