Právě jsem dočet skvělou knihu o jQuery: Jonathan
Chaffer, Karl Swedberg: Learning jQuery 1.3. Recenze tu bude co nevidět,
zatím jsem alespoň přepsal pár poznámek, které jsem si při čtení
udělal. Kdo nezná jQuery, nechť si o této skvělé knihovně přečte
tady
a nebo taky tady.
Všchny uváděné ukázky si můžete rovnou vyzkoušet díky geniální jQuery zkoušečce. Nemusíte tak nic opisovat a ukládat.

Obsluha je velmi prostá: do jednoho políčka vložíte html, do dalšího kód JavaScriptu a pak to celé spustíte tlačítkem Spustit!. Pokud si budete chtít něco uložit, či poslat kamarádovi, stačí uložit nebo poslat adresu, která se neustále mění (a uchovává aktuální stav zkoušečky).
$("#menu li:not(.selected)")
Vybere takové <li> potomky prvku s id=menu, které nemají přiřazenou třídu selected.
$("#menu li:eq(2)").css('color','green');
Vybere třetí <li> položku seznamu menu (indexuje se od nuly).
$("a").filter(function(){
return this.hostname && this.hostname != location.hostname;
}).css('color','yellow');
Vybere pouze externí odkazy – ukázka použití vlastní filtrovací funkce.
$("#menu li.selected").next().css('color','blue');
Najde značky s třídou selected a vybere vždy následující prvek stránky.
$("#menu li.selected").nextAll().andSelf().css('color','blue');
Najde značky s třídou selected a vybere všechny následující prvky ve stejné úrovni, včetně toho s třídou selected.
Přepínače se v jQuery dělají opravdu jednoduše. Nejjednodušší je asi volání funkce toggleClass(ClassName) která pouze přidává / odstraňuje třídu ClassName. Složitější a mocnější je toggle(f1, f2), která má za parametry „zapínací“ a „vypínací“ funkci – viz ukázka.
$(document).ready(function(){
$("#switcher").toggle(function(){
$("#menu").hide();
$("#switcher").text("Zobraz menu");
}, function(){
$("#menu").show();
$("#switcher").text("Schovej menu");
});
});
Občas by se hodilo zavolat kód, který je navázán na nějakou událost – právě k tomu slouží funkce trigger(), která tu událost na zvoleném objektu simuluje.
$("#switcher").trigger('click');
Pokud potřebuji nastavit více css vlastností naráz, použije se trochu jiný zápis:
$("li.selected").css({"color":"white","background-color":"black"});
Řetězení je další skvělou vlastností – pomocí selektoru vyberete množinu prvků, na tu zavoláte několik funkcí, pak tyto prvky ještě přefiltrujete a na ty, co projdou filtrem zavoláte další funkci. Pokud se chcete vrátit k původní skupině vybraných prvků, zavoláte funkci end().
$(document).ready(function(){
$("#menu li").css("border","1px solid black")
.filter(':odd').css("background-color","silver")
.end()
.filter('.selected').css("background-color","red");
});
Pokud si chcete uložit odkaz na jQuery objekt, pak je dobrým zvykem dát znak $ na začátek názvu proměnné obsahující odkaz na jQuery objekt. Snadno si tak při další manipulaci s touto proměnnou uvědomíte, že obsahuje jQuery objekt.
var $selected = $("#menu li.selected");
$selected.css("background-color","red");
V jQuery je vytvoření kusu kódu velmi snadné, prostě ho jen napíšete jako parametr funkce $(). To ale nestačí, musíte jej pak ještě někam do stránky umístit, jinak se nezobrazí. K tomu lze využít několikero funkcí.
$("<ul><li>Podpoložka</li></ul>").appendTo("#menu li.selected")
To je pro tentokráte vše, další zajímavé selektory a funkce najdete v referenci jQuery.
Po této knize již delší dobu pokukuji, tak se na recenzi už těším, snad mě navnadí k její koupi a dalšímu sebevzdělání ;-)
Jinak bych rád pochválil redesign stránek, moc se mi líbí.
Díky za tip, k jQuery jsem si chtěl dávno něco koupit. Amazon.co.uk to už, spolu s dalšími dvěma knihami, posílá :)
Při čtení mě napadlo pár poznámek:
Ad Operátor eq:
Existuje i metoda eq, která má stejný účinek
$("#menu li").eq(2).css('color','green'); Ad Přímé zavolání obsluhy události:
Většinu těch základních událostí je možné zavolat i přímo
$("#switcher").click(); A jedna vychytávka na nakonec:
Ad Filtrování:
Že je možné jQuery rozšířit o nové schopnosti pomocí pluginů je známá věc. Možná ale už není tak známé, že jde rozšířit i selektory.
Nebylo by hezčí prostě napsat:
$("a:external").css('color','yellow'); Žádný problém
jQuery.expr[':'].external = function(el){ return el.hostname && el.hostname != location.hostname; }; PS: Děkuji za označení „geniální jQuery zkoušečka“ ;) Musím ji ale hned zároveň trochu shodit – v současnosti používá zkoušečka jQuery 1.2.6, takže některé novinky, které přibyly v jQ. 1.3 tam nebudou fungovat. Slibuji, že až budu mít chvilku čas, udělám upgrade.
Díky Adame za rozšiřující komentář – moje poznámky vycházely z přečtené knihy, kde uvedené fígle nebyly.
Zkoušečka mi přijde skvělá, ale jednu chybku jsem na ní přece jen našel – nezobrazuje chyby. Takže pokud člověk udělá v kódu JavaScriptu nějaký překlep, tak se to pořádně nedozví.
← Mountainski.cz - blog o skialpinismu Jonathan Chaffer, Karl Swedberg: Learning jQuery 1.3 →
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
Petr Václavek (Fotobanky - opravdu je možné vydělávat prodejem vlastních fotek a grafiky?)
Petr Václavek (Něco málo o mé osobě)
Petr Václavek (Křest nového kola)
jarka (Fotobanky - opravdu je možné vydělávat prodejem vlastních fotek a grafiky?)
100 % Ken Kesey : Prelet nad kukučím hniezdom
Viděl jsem film, dokonce několikrát a pochyboval jsem, že by kniha mohla být lepší. Moc se mi ani do ní nechtělo, nerad čtu knížky, které jsem předtím už "viděl" (v kině nebo TV), člověk se tak ochudí o spoustu překvapení. Ale zarazilo mě, jak vysoce je tato kniha hodnocená (je zde i v top 100), takže jsem ji nakonec zkusil a nelituji. Děj je víceméně shodný s filmem, ale hlavní postava a tedy úhel ze kterého je příběh vyprávěn je úplně jiný. Je to jako by jste něco zažili s kamarádem a pak to každý popsali svými slovy. V knize je hlavní postavou (vypravěčem) indián, který to nemá v hlavě úplně v pořádku, a více už vám neprozradím, přečtěte si to sami.
80 % Tomáš Hajzler : Peníze, nebo život
Peníze nebo život! Těžká volba, každý by rád oboje a jen někdo to dokáže :) Původně jsem od knihy čekal americký nadšený motivační styl, ale hluboce jsem se mýlil. Je to spíše hutná sbírka mouder, výzkumů a článků na podporu druhé volby (život) semtam okořeněné osobními zážitky autora. Místy to bylo až trochu nudné/hutné, ale každopádně mě to donutilo nad mnoha věcmi přemýšlet a to je jedině dobře. Každopádně já už několik let nejsem pro tuto knihu tou pravou cílovkou, ale věřím, že pár lidí obrátí na správnou víru a dokáže jim změnit život.
color.hailpixel.com
Geniálně jednoduché a přehldné míchátko barev - svou paletu si prostě naklikáte.
[Barvy]
UmSemUmTam
Portál, kde neziskovky můžou hledat profesionály pro své projekty a naopak, grafici a programátoři zde můžou pomoci neziskovkám - skvělý nápad!
Rembrandted KIDS
Zábavný fotoblog kamarádky na mateřské dovolené - fotí své děti naaranžované podle známých uměleckých obrazů.
TrekView
Výborný prohlížeč GPX souborů. Jako podkladovou mapu používá podklady z google map a seznamáckých map (včetně turistických!)
[Sport]
Audioteka.cz
Jeden z prvních online obchodů nabízející české audio knihy.
bab.la
Online slovník pro 22 jazyků, docela slušná slovní zásoba, jen trochu více reklamy, než by mi bylo milo.
[Různé]
Hrajeme.cz
Asi nejlepší, nejpodrobnější a nejobsáhlejší portál, který se zabývá deskovými hrami.
[Hry]
Font Awesome
Font se stovkou pěkných ikon, zcela zdarma i pro komerční použití.
Lucie noci upije
Blog jedné z tisíce žen, které si daly v práci pauzu (rodičovská dovolená), aby se mohly věnovat dětem a rodině.
Sloupek tety Fily
Dříve jsem rád četl blog Fily (fily.bloguje.cz) o výchově dvou dětí (mladší a starší), ale v posledních letech se tam přestaly objevovat nové články. Až dnes jsem objevil, kam Fily píše pravidelně...