jQuery lightbox plugin
A Lightbox JS indulása óta ez az effekt fogalommá nőtte ki magát, a képek, sőt egyéb beágyazott tartalmak megjelenítésének kedvelt technikája. Természetesen létezik jQuery Javascript könyvtárra épülő megoldás is. Ha az oldaladon más célokra már jQuery-t használsz, akkor célszerűtlen emiatt más script könyvtárat is betölteni, de a mérete miatt sem rossz választás, a jQery 1.2.6.min js, és a jquery.lightbox-0.5 js együtt csak 74,1Kb.
Az egyik megoldás a jQuery hivatalos oldalán leírt Balupton Edition, az Insic Designs blogon pedig egész kis gyűjtemény található. Most Leandro Vieira Pinho által írt lightbox plugint mutatom be részletesebben.

A lightbox plugin használata:
Az oldal head részébe az alábbi kódot kell beilleszteni:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
Szükség van még egy css fájlra is:
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />Ennek tartalmát természetesen az oldal eredeti stíluslapjába is bemásolhatod.
A html:
A plugin használatához nem kell átírnod a kódod, a jQuery rugalmas selectorával bármilyen képhalmazt - akár többet is - kijelölhetsz. Lényeg hogy a kódod „váza” ilyesféle legyen:
<a href="image1.jpg" title="képfelirat"><img src="thumb_image1.jpg" alt="" /></a>A script a képfeliratokat az 'a' tag title attributumának tartalmából veszi át, fotóalbum esetén pedig azt is kiírja, hány kép található az adott válogatásban.
A jQuery lightBox plugin aktiválása:
Ezek után hívd meg jQuery lightBox függvényt, válaszd ki a hivatkozásokat, amelyre alkalmazni szeretnéd. Mutatok néhány példát:
<script type="text/javascript"> $(function() { // Első példa... $('a[@rel*=lightbox]').lightBox(); // Minden link, amely rel="lightbox" attribútummal rendelkezik // Vagy ez... $('#gallery a').lightBox(); // Minden link, amely gallery ID-jű elemben van. // Itt egy másik... $('a.lightbox').lightBox(); // Minden link, amely lightbox class-al rendelkezik // Esetleg ez... $('a').lightBox(); // Minden link az oldalon // ... A lehetőség száma rengeteg. Használd kreatívitásod vagy a fenti példák bármelyikét. }); </script>
Az elérhető konfigurációs beállítások:
A plugin néhány beállítási lehetősége a meghíváskor testreszabható, a konfigurációs értékeket a függvény paramétereként egy hash-ben adhatod át, az alábbiak szerint:
* overlayBgColor - A színátfedés (overlay) színe, alapértelmezetten #000 fekete.
* overlayOpacity - A színátfedés átlátszóságának mértéke, alapból 0.8.
* imageLoading - Animáció a betöltődés alatt. images/lightbox-ico-loading.gif az alapértelmezett.
* imageBtnClose - Bezárás gomb. images/lightbox-btn-close.gif az alapértelmezett.
* imageBtnPrev - "Előző" gomb. images/lightbox-btn-prev.gif az alapértelmezett.
* imageBtnNext - "Következő" gomb. images/lightbox-btn-next.gif az alapértelmezett.
* containerBorderSize - A képet tartalmazó box padding értéke, 10 az alapértelmezett.
* containerResizeSpeed - A képet tartalmazó box átméretezésének időtartama, 400 az alapértelmezett.
* txtImage - Az "Image" felirat.
* txtOf - Az "of" felirat.
* imageBlank - A blank image, amely az Internet Explorer hover hack-hez kell, images/lightbox-blank.gif az alapértelmezett.
* keyToClose - Bezárás gyorsbillentyű, a c (close) az alapértelmezett.
* keyToPrev - Előző kép gyorsbillentyű, p (previous) az alapértelmezett.
* keyToNext - Következő kép gyorsbillentyű, az n (next) az alapértelmezett.
Példa a jQuery lightbox plugin konfigurálására:
<script type="text/javascript"> $(function() { $('a[@rel*=lightbox]').lightBox({ overlayBgColor: '#FFF', overlayOpacity: 0.6, imageLoading: 'http://example.com/images/loading.gif', imageBtnClose: 'http://example.com/images/close.gif', imageBtnPrev: 'http://example.com/images/prev.gif', imageBtnNext: 'http://example.com/images/next.gif', containerResizeSpeed: 350, txtImage: 'Imagem', txtOf: 'de' }); }); </script>
Mire vársz? Töltsd le vagy nézd meg a demót !
Több jQuery plugin kombinálása:
Csoxa kérésére megmutatom, hogy lehet az előbb bemutatott lightbox, és az animált hoover plugint együtt használni:
A header-be a szokásos módon helyezd el a scripteket:
<script type="text/javascript" src="jquery-1.2.6.min.js"></script> <script type="text/javascript" src="jquery.lightbox-0.5.js"></script> <link rel="stylesheet" type="text/css" href="jquery.lightbox-0.5.css" media="screen" />
Aktiváld egymás után a két funkciót:
<script type="text/javascript"> $(function() { $('ul.hover_block li').hover(function(){ $(this).find('img').animate({top:'182px'},{queue:false,duration:500}); }, function(){ $(this).find('img').animate({top:'0px'},{queue:false,duration:500}); }); }); </script> <script type="text/javascript"> $(function() { $('#gallery a').lightBox({fixedNavigation:true}); }); </script>
A html kódban a korábbi hivatkozásokat kell annyiban átalakítani, hogy a nagy méretű képre linkelsz, illetve ha szeretnél feliratot, akkor feltétlenül szükség lesz a title elemre.
<ul class="hover_block" id="gallery"> <li><a href="01_big.jpg" title="Ez a kép felirata"> <img src="01.jpg" alt="bluedesign blog" /> Ez a szöveg a kép mögötti tartalom, kattintható hivatkozással.</a> </li> </ul>
Ennyi, a jQuery megoldásokat könnyen lehet kombinálni. A megjelenést a stíluslappal rugalmasan tudod variálni, sok sikert hozzá.
Mire vársz? Töltsd le vagy nézd meg a demót !















február 3rd, 2009 at 12:17
KÖSZÖNÖM!x1000 Mikor megláttam a bejegyzést már tudtam, hogy ez az én napom!
Köszi
február 3rd, 2009 at 16:26
Szívesen, remélem megmutatod, mit sikerül kihozni belőle!
február 3rd, 2009 at 18:00
Itt is lenne!Eddig van kidolgozva... a felmerült problémák, pedig: nem tudtam elhelyezni hivatkozásokat anélkül, hogy ne nyitotta volna meg, mint egy képet(ezt kiküszöböltem, nem kiállításra való, de működik, onclick), még egy érdekes jelenség, pedig, hogy a Next gombra kattintva nem történik semmi, csak gondolkodik, és ez van, ha csak a képre kattintunk, viszont, ha kettőt klikkelünk, akkor már előremegy!
...
február 3rd, 2009 at 18:20
A problémát a selector nem megfelelő kiválasztása okozza, mivel #gallery -n belül minden elemre működik. Szűkíteni kell a kiválasztást, pédául adj azoknak a linkeknek 'lightbox' class-t, amelyeket a lightbox-al szeretnél megnyitni, mutattam rá példát a cikkben. Természetesen ezt át kell írni a js hívásban is. A header-ben van egy kis gond, a js hívások többször is szerepelnek. Ha kell, mailben segítek.
február 3rd, 2009 at 19:58
Megtennéd?
április 21st, 2009 at 10:57
Szia!
Azt szeretném megkérdezni, hogy nem Te voltál-e még régen az OGame játékon a blue szövetség alapítója?
Lehet nem, csak valahogy Te ugrottál be, ahogy néztem az oldalad. Amúgy nagyon jó az oldal, gratulálok hozzá. Sok hasznos infót lehet itt megtalálni.
Üdv: Homare
április 26th, 2009 at 09:58
Szia, nem, sosem voltam nagy játékost. Az elismerést köszönöm, a sok munka mellett igyekszem néha írni is valamit...
június 16th, 2009 at 11:21
konkrétan ezt fordítottad le egy az egyben: http://leandrovieira.com/projects/jquery/lightbox/#how-to-use jól tévedek? ámde a kérdésem inkább az lenne, hogy miért nem működik a keyToPrev és a többi ilyen gomb?
június 16th, 2009 at 12:36
Igen, ha megnézed a cikk elejét, konkrétan hivatkozom a forrásra. A gyorsbillentyűk nekem gond nélkül működnek, ctrl+c -bezár, ctrl+p -vissza, ctrl+n - következő. Milyen környezetben nem működik?
szeptember 17th, 2009 at 15:22
H.S.László Says szia elnézést a zavarásért de nekem kellene a weboldalomra egy ilyen képnézegető de nem nagyon tudom hogy kell berakni az oldalra ha eggyáltalán belehet mert ingyenes weblap oldal.biz
október 28th, 2009 at 22:22
Sziasztok
Én azt szeretném megkérdezni hogy lehet az megoldani, mikor a web oldalam bejön akkor vele együtt automatikusan egy plakát is megjelenjen LightBox ban?
nem tudna nekem ebben valaki segíteni??
esetleg valami kód hozzá...