Webgallery

  • Onderwerp starter Onderwerp starter jebl
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jebl

Gebruiker
Lid geworden
8 dec 2011
Berichten
109
Hallo,

Op mijn website wil ik graag één of meerdere webgallery's plaatsen.
Nu wil ik graag dat het er zo uit ziet als op http://www.112groningen.nl/
Wie kan mij vertellen hoe dit is gedaan?

Groet,

Jebl
 
Als je bedoelt dat als je op een foto klikt dat deze naar de voorgrond komt. Dit kan op meerdere manieren. Ik zou als ik jou was eens kijken op http://fancybox.net/
Dan kun je het gewoon downloaden en staat een duidelijke documentatie bij hoe je het toe moet passen op je eigen gallerij.
 
Ok bedankt, ik zal eens kijken of mij dat gaat lukken :thumb:
 
Ok, lightbox lijkt mij het meest geschikt maar zou iemand mij stap voor stap kunnen uitleggen
hoe ik dit precies moet doen?
Html is niet mijn sterkste kant :o
Als ik de gallery eerst maar aan de praat heb dan puzzel ik graag weer verder :)
 
Hoi Jebl,
Op de Lightbox2-pagina staat iets naar beneden "How to Use", met de stap-voor-stap uitleg.
Lukt het niet op die manier?

___________
PS:
Stap Nul is het downloaden van het Lightbox2.05.zip bestand, het uitpakken van de 3 mapjes "images", "css" en "js", en die mapjes plus hun inhoud uploaden naar je server.
Dan kunnen die mappen/bestanden gevonden worden als je in je pagina de codes van de stappen "Part 1 - Setup" en "Part 2 - Activate" zet. ;)
 
Laatst bewerkt:
Het is me gelukt om lightbox aan de praat te krijgen.
Nu vraag ik me af of het mogelijk is om met 1 link (thumbnail) een serie foto's te laten zien.
Nu krijg ik als ik b.v. 10 foto's toevoeg ook 10 links op de pagina :(
 
Alleen bij de eerste foto de link of thumbnail plaatsen, en voor de rest een rijtje lege links neerzetten:
HTML:
...
<a href="images/image-1.jpg" rel="lightbox[roadtrip]">bekijk foto's</a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]"></a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]"></a>
enz.
...
of:
<a href="images/image-1.jpg" rel="lightbox[roadtrip]">
   <img src="images/thumbnail-plaatje.png" width=".." height=".." alt=""
        title="Klik voor vergroting, en klik dan rechts op de foto voor de volgende" /></a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]"></a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]"></a>
enz.
Dit werkt als ik het toepas in Firebug.

Met vriendelijke groet,
CSShunter
 
Heel erg bedankt voor de antwoorden, het werkt naar tevredenheid :thumb:
Toch nog een vraagje: Om de gallery in het midden van de pagina te krijgen moet ik dan de css aanpassen of staat dat ergens in een script?
 
Hoi jebl,
'ns even kijken ... hé, er is niets te zien! ;)
Heb je een link naar de pagina?
 
Die link komt nog, ik doe het eerst nog even op mijn pc.
 
Ok de positie kan ik bepalen met het js script.
Maar kan ik ook meerdere gallerys op één pagina plaatsen?
 
Hoi jebl,
In principe werken de drie lightboxes, maar ze hebben allemaal dezelfde naam: [roadtrip].
  • Daardoor eindigt de serie van Week1 niet, maar loopt door met de geboorte- en dekkingsfoto's.
  • Verder mist de link van het geboorte-plaatje het "rel"-attribuut, en gaat de tweede lightbox niet draaien.
  • En de link bij de eerste van de geboorteserie linkt nogmaals naar de kleine foto ipv naar de grote.

Wat je doet:
  • De drie series krijgen elk een eigen groepsnaam in plaats van [roadtrip].
  • Die groepsnaam wordt gebruikt voor alle links in een bepaalde serie.
  • Dan gaat elke serie niet verder dan waar de groepsnaam ophoudt.

HTML:
...
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/01.jpg">
	<img src="images/b_nest_week1/small.jpg" width="100" height="70"></a><br>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/02.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/03.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/04.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/05.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/06.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/07.jpg"></a>
<a rel="lightbox[b_nest_week1]" href="images/b_nest_week1/08.jpg"></a>
...
...
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/01.jpg">
	<img src="images/b_nest_geboorte/small.jpg" width="100" height="70"></a><br>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/02.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/03.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/04.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/05.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/06.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/07.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/08.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/09.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/10.jpg"></a>
<a rel="lightbox[b_nest_geboorte]" href="images/b_nest_geboorte/11.jpg"></a>
...
en voor de derde op dezelfde manier

Met vriendelijke groet,
CSShunter
 
Volgens mij moet het nu goed zijn, ik ben in ieder geval tevreden :thumb:
 
Ja: Chrome, Opera, Safari en Internet Explorer 7 doen het bij mij prima.
Maar bij mij doet nu geen enkele lightbox het in Firefox.

Het blijkt de slash / in de groepsnamen te zijn, waar deze niet tegen kan.
Met [b_nest-week1] ipv [b_nest/week1] enz. werkt het wel.
 
Als ik die slash aanpas voor firefox, werkt het dan nog wel in de rest van de browsers?
 
Hoi Jeb,
Proberen is weten! ;)
- Maar het lijkt me heel erg stug als andere browsers het zouden afkeuren (de _ wordt ook geaccepteerd, en de - is ook een goedgekeurd html-/javascript-teken).

Met vriendelijke groet,
CSShunter
 
Hoi Jeb weer,
Herstel: het is toch niet die slash!


  • Ik werk in Firefox met het Firebug-ontwikkelprogramma voor de diagnoses.
  • Toen ik Firebug had aanstaan, werkte de online-wijziging zonder slash.
  • Maar nu blijkt ... als ik Firebug aan heb staan, werkt het óók zonder wijziging, dus met de slash er in! :shocked:

Verder zoeken levert tot dusverre op:
  • FF toont toch wel de lightbox-afbeeldingen, maar ze zitten onder het zichtbare scherm: als je een flink eind naar beneden scrollt komt de lightbox tevoorschijn, en is dan ook te bedienen voor de volgende/vorige foto's.
  • Sterker nog: er wordt een heel eind extra pagina-hoogte aan toegevoegd, de lightbox zit ongeveer 10 beeldschermhoogtes onder waar hij moet zitten. De rest bestaat uit lege ruimte met alleen de background-afbeelding van de pagina.
  • Bij de berekening van de plaats gaat het op een of andere manier mis in het script. Zonder Firebug aan wordt een top-afstand van liefst 8350px berekend, en met Firebug aan de goede 377.15px. Dat klopt met de waarneming!

Ik zal proberen te achterhalen waar het fout gaat (misschien ergens iets met een absolute positie of een hoogtepercentage), maar weet niet of ik daar uit kom. Wat misschien roet in het eten gooit, is de flinke portie html-fouten op de pagina; Firefox gaat daar altijd nogal kritisch mee om. *)

Met vriendelijke groet,
CSShunter
_______
*) Ik heb er door HTML-Tidy even snel valid html van laten maken, maar dan doen de verschijnselen in Firefox zich nog steeds voor. :confused:
 
Hebbes! :D

Het javascript lightbox.js is niet het originele javascript :rolleyes:
Het lijkt er als 1,99 druppels water op, maar het is het niet:
  • de aanhef en het versienummer zijn identiek (de actuele laatste versie Lightbox v2.05, Last Modification: 3/18/11),
  • de hele rest ook, met één uitzondering:
  • in de script-regel voor de top-positie van de lightbox is iets veranderd !!!
  • die verandering is geen goede code.

In het origineel staat op regel 233:
Code:
...
   this.lightbox.setStyle({ top: lightboxTop + 'px', left: lightboxLeft + 'px' }).show();
...
Daar is van gemaakt:
Code:
...
   this.lightbox.setStyle({ top: lightboxTop + '[B]50[/B]px', left: lightboxLeft + 'px' }).show();
...
En dat is fout. *)
Deze error veroorzaakt bij mij in FF het zakken van de lightbox in de zwarte put.


  • Zodra ik regel 233 vervang door de oorspronkelijke, gaat het ook in Firefox goed. :)

==========
Toelichting:
De lightboxTop in de code is een variabele en geeft een getal weer.
Omdat de css van een top-eigenschap een maateenheid px nodig heeft, wordt de variabele gekoppeld aan de tekst 'px'. De + in de code betekent niet optellen, maar er achteraan plakken. In de code:
[JS]...
lightboxTop + 'px'[/JS]
Als bv. lightboxTop een waarde heeft van 83, wordt de uitkomst: "83px" (wat geen getal meer is, maar wel bruikbaar om de style op te geven).
Als je gebruikt:
[JS]...
lightboxTop + '50px'[/JS]
kunnen de twee niet opgeteld worden, want "50px" is geen getal maar een tekst-string. Dan wordt het getal ook als een tekst opgevat, en worden de twee als tekst achter elkaar gezet, zodat de uitkomst is: "8350px".
Dat doet Firefox dan ook!

==========
Blijft over de vraag: waarom doen de andere browsers het dan wel?
  • Antwoord: Dat blijkt puur toeval!

Toelichting:
Het script berekent de top-afstand namelijk op grond van de hoogte van het browserscherm van de bezoeker.
Die hoogte wordt door 10 gedeeld, en dat is dan de top-afstand.
Als de hoogte door 10 deelbaar is, komt er een heel getal uit.


  • Dat was bij mij (met de toolbars en de statusbar die ik aan heb staan) toevallig het geval: de schermhoogte was 830px. Dan werd de uitkomst 830/10=83 plus de "50px" > dus "8350px".
  • Maar in Internet Explorer en andere browsers is dat bij mij toevallig niet het geval. Bv. in Internet Explorer is bij mij de bruikbare schermhoogte: 818px.
  • Een tiende daarvan geeft voor de topafstand een waarde van het getal 81.8.
  • Als dit getal samengevoegd wordt met "50px", wordt het samen de tekst-string "81.850px".
  • Maar css leest wat voor de "px" staat weer als getal (in de Amerikaanse notitie met een punt ipv onze komma): 81,85px.
  • En omdat beeldschermen niet kleiner kunnen gaan dan 1 pixel, wordt dat afgerond tot 81px of 82px.
  • Op die afstand van boven komt dan de lightbox te staan, en er lijkt niets aan de hand!

==========
Een testpagina:

Hierin wordt aangegeven wat de schermhoogte en de verdere berekening als uitkomst geeft in de browser waarmee de pagina wordt bekeken.
Het gaat goed als 1/10 van de schermhoogte niet op een heel getal uitkomt, en anders gaat het fout.
Hierbij maakt het niet uit welke browser gebruikt wordt! **)

==========
Het bewijs:

Hierin wordt de 1/10 van de gemeten schermhoogte eerst afgerond op een heel getal, en dan gebruikt voor de verdere berekening.
Nu gaat het altijd in elke browser fout, net als bij mij in Firefox. :)

==========
Conclusie:
Tevoren valt niet te voorspellen of een bezoeker zijn/haar browserhoogte op een veelvoud van 10 heeft staan, waardoor de lightbox verkeerd wordt geplaatst.
Dus de 50 weer uit het script halen, dan is alles weer ok.

Met vriendelijke groet,
CSShunter
__________
*) Ik stond al half en half klaar om de maker van de lightbox een mailtje te sturen dat z'n code niet waterdicht was, maar toen ik voor de veiligheid zijn script downloadde om te kijken of er soms intussen een update was gemaakt, kwam ik er achter dat er aan z'n script was geknutseld. ;)

**) Daarom ging het bij mij in Firefox opeens ook goed toen ik het Firebug-venster had geopend: daarmee werd de voor de pagina beschikbare schermhoogte kleiner, en geen veelvoud van 10 meer > probleem zogenaamd afwezig!
Die verklaring had ik vóór het doorneuzen van het javascript niet bedacht. ;)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan