xom`s pinion - xomův blog

Blog šťastného středoevropana plný subjektivních blábolů.

Dejchá, furt dejchá!
S láskou z/k Ještědu
úvod » Přichází xbo! Javascriptové náhledy obrázků..

Přichází xbo! Javascriptové náhledy obrázků..

xbo logo Právě teď vypouštím první verzi Javascriptového nástroje, který ulehčuje uživateli používání stránky s odkazy na obrázky – zobrazuje je v pomocném boxu. Pracovní název celého skriptu byl xomojátka, protože původní idea byla zobrazovat obrázek v plovoucím okně pod odkazem, při najetí kurzoru myši, což vzdáleně připomíná Derova Cotojátka. Potom jsem promýšlel funkčnost čím dál více do hloubky a vznikl mi z toho takový Lightbox, který je otevřenější pro možné zásahy uživatele. A finální název xbo vychází ze „xom`s box“, radši bych použil xbox, ale to by něco připomínalo.. ;o)

Pojďme se podívat na možnosti, které nám celý skript nabízí. xbo se nastavuje přidáváním hodnot do asociovaného pole settings, tudíž není těžké si nastavit chování přesně dle potřeb, když znáte možné parametry.

Parametry

V následujících řádcích budu používat pro element, ve kterém se zobrazuje obrázek, názvu box.

Šablona ve stávající verzi musí obsahovat minimálně jeden element IMG, do kterého se bude vkládat obrázek. Při použití více obrázků v šabloně bude použit první element. Pokud šablona neobsahuje element IMG, použije se přednastavená.

Ukázky

Pro představu funkčnosti jsem připravil pár ukázek:

Vložení do stránky, aktivace

Vložení skriptu do stránky učiňte touto definicí v HEAD elementu stránky: <script type="text/javascript" src="xbo.js"></script> – pokud je nastavení definováno v souboru skriptu, tak nemusíte pro funkčnost nic více přidávat, samo se vše inicializuje po načtení stránky.

Tak toto je vše z prvního představní nástroje xbo, můžete si ho stáhnout (1.3kB), testovat, používat, samozřejmě, že budu rád za jakékoliv ohlasy – osobně jsem zatím testoval chování v Explorer, Firefoxu a Opeře, předpokládám, že budu ještě drobně ladit pro Konqueror (bohužel poslední dobou nejsem u Linuxu.)

Výhledově bych chtěl dotáhnout nějaké načítací efekty a poladění ve starších verzích prohlížečů, tak mi přejte ať mám trochu čas.. ;o)

z kategorie Web design, přidej na Linkuj.cz, publikováno 15.10.2006 23:08

Komentáře k článku (24×)

01| Katty (16.10.2006 08:20) | reakce

GRavatar

Ty jo… :o)) Cool!

02| Gringo (23.02.2007 17:38) | reakce

GRavatar

Trochu selhává automatické pozicování, když je odkaz v tabulce a ta je v divu s position: relative. Ten div možná není podmínkou ;).

03| LordSpider (08.05.2007 16:59) | reakce

GRavatar

Absolutně nefunguje tak jak má. Mám odkaz umístěný v tabulce v divu a náhled se mi vždy zobrazí v levém horním rohu (souřadnice top: 0px, left: 0px)

04| xom (08.05.2007 17:43) | reakce

GRavatar

|3| - reakce na LordSpider: Otázkou je, co znamená, že to má fungovat tak jak má? Jestli tak, jak si představuju já autor nebo dle tvých představ o fungování, tyto dvě množiny se nemusejí překrývat a popis tvého problému je značně obecný, nic neříkající.

05| Petr (13.06.2007 01:00) | reakce

GRavatar

Dekuji

06| roxy (24.06.2007 00:04) | reakce

GRavatar

wowwwwwww….fakt pecka!!! diky

07| Jakub Matějček (31.07.2007 13:44) | reakce

GRavatar

Ják máte ten druhý příklad.Potřeboval bych aby se to zobrazovalo uprostřed stránky. A to pořád i po zmenšení okna prohlížeče a tak. Tím relativepositionx a y se to dá na pevno. jde to nějak? Děkuji

08| xom (31.07.2007 15:55) | reakce

GRavatar

|7| - reakce na Jakub Matějček: Již to jde ;) Dopsal jsem funkci pro procentuální pozici – ukázka, JS zdroj.

Nastavení se provede definicí:

settings["per­centPosition"] = true;
settings["re­lativePosition"] = 0.5;
settings["re­lativePosition"] = 0.5;
settings["wid­thPosition"] = 250;

Hodnota 0.5 říká o kolik procent stránky se box ukáže od levého okraje – tedy o 50%, settings[„wid­thPosition“] slouží ke korekci, aby se box ukazoval přesně na středu (říká, jak bude nakonec široký) – widthPosition jsem tam dal nekoncepčně, ale skript ve fázi pozicování ještě přesně neví, jak bude výsledek široký. Pokud si nastylujete, že bude mít box width:500px a nastavíte widthPosition také na 500, relativePositionX na 0.5, tak budete mít výsledek přesně ve středu stránky.

09| Jakub Matějček (31.07.2007 22:36) | reakce

GRavatar

|8| - reakce na xom: super děkuji.vubec jsem nečekal že někdo odepíše:)

10| Jakub Matějček (31.07.2007 22:55) | reakce

GRavatar

no uplně přesněmi to nefunguje ale to se nějak vyladí:)bohužel ale mám ještě jeden problém.když změním šířku boxu tak v IE je pořád stejná..

11| xom (01.08.2007 02:13) | reakce

GRavatar

|10| - reakce na Jakub Matějček: Změnu šířky v CSS nebo tu teoretickou pro xbo? Výše přiložený příklad mi funguje stejně ve všech hlavních prohlížečích včetně ie6 a ie7 nebo i KHTML Swiftu.

12| Jakub Matějček (01.08.2007 10:15) | reakce

GRavatar

|11| - reakce na xom: no měním to v css a to se mi v IE neprojeví.asi to jde změnit i jinde že?jen jsem zatím nenašel kde.někde v kódu xbo?

13| Jakub Matějček (01.08.2007 16:19) | reakce

GRavatar

a text také nemám v IE vycentrovaný.prostě vubec nepůsobí css na to:)

14| xom (02.08.2007 11:35) | reakce

GRavatar

|13| - reakce na Jakub Matějček: To vypadá na individuální problém v konkrétním CSS..

15| Jakub Matějček (02.08.2007 22:52) | reakce

GRavatar

|14| - reakce na xom: ani když použiji přesně to co máte za příklad vy tak mi to v IE nefunguje správně.bohužel

16| honzalunek (31.08.2007 10:41) | reakce

GRavatar

Ahoj XOM.. bude nejaka ta nova verze? :) dik :)

17| xom (03.09.2007 05:09) | reakce

GRavatar

|16| - reakce na honzalunek: Momentálně mám spoustu práce, takže času nezbývá, ale sepisuji si nápady..

18| Biker (06.01.2008 23:35) | reakce

GRavatar

Zdravim, jde to použít i když potřebuji, se aby se cíl zobrazil po najetí na obrázek a ne jen na text, jak máte tady v příkladech?

Díky

19| xom (07.01.2008 00:34) | reakce

GRavatar

|18| - reakce na Biker: To je vlastně totéž, akorát je do tagů A uzavřen IMG namísto textu..

20| toretto (06.02.2008 20:39) | reakce

GRavatar

Neda sa nastavit aby ten obrazok co sa mi objavi mal najviac vysku 100px lebo nechcem aby sa mi velke obrazky zobrazovali na celej stranke. da sa to nejak urobit?

21| xom (07.02.2008 02:05) | reakce

GRavatar

|20| - reakce na toretto: Toto se dá nastavit v CSS, kde se nadefinuje height: 100px; a přetekání rozměru se schová overflow: hidden;

22| Buena (31.07.2008 15:53) | reakce

GRavatar

Jednoduse nastavitelna a chytra vecicka. Ulehcilo mi to znacne kontroly velkeho mnozstvi obrazku v administraci. Diky moc! :)

23| zdenál (19.11.2008 16:44) | reakce

GRavatar

Ahoj!! Toto je suprovní! Ovšem mám malý problémek v IE :( v lišce šlape suprovně. A můj problém je ten že když mám stránku dlouhou (výpis z DB nekolik set záznamů) a chci si zobrazit obrázek posledního záznamu, tak se mi obrázek ukáže úplně nahoře podle nastavení. Newím jak docílit toho, aby se obrázek ukázal někde viditelně a já nemusel vždycky vyjíždět az na vršíček stránky. Při použití opravy co tady byla vložena (pozicování procentuálně) se mi to zase ukáže třeba někde hluboko uprostřed. Prosím pomožte bo tuto věcičku velmi nutně potřebuji! Předem dík za jakékoliv rady!

24| Kiyoshi (20.08.2009 18:39) | reakce

GRavatar

Zdravím mám problém s boxem. nefunguje to korektně ani tady v příkladech jak koukám. Při kliknutí na náhled obrázku se box nezobrazí okolo full obrázku. po druhém pokliku je vše v pořádku a box se rozšíří okolo celého obrázku, ale až op druhém poklikání na náhled.

Komentáře byly pozastaveny
© 2004-2008 Tom Hnatovsky - Všechna práva vyhrazena
TOPlist