Hoi phobia,
Hé, dat is aardig! Als ik reactie nr. #4 van That Guy en nr. #5 van DoRcO combineer ...
- ... moet ik bij het eerste plaatje 4 keer klikken om de pop-up weg te krijgen,
en heeft de omgeving (overlay-div) resp. 4 keer / 3 keer / 2 keer / 1 keer minder opacity;
- ... bij het tweede plaatje 3 keer,
en heeft de omgeving resp. 3 keer / 2 keer / 1 keer minder opacity;
- ... bij het derde plaatje 2 keer,
en heeft de omgeving resp. 2 keer / 1 keer minder opacity;
- ... en bij het laatste plaatje maar 1x zoals het hoort,
met ook de omgeving maar 1 keer minder opacity.
Het hangt dus inderdaad van het aantal plaatjes af!
In de code staat:
[JS]$(".img img").click(function() {
name = $(this).attr('name');
info = $(this).attr('alt');
Ypos = (($(window).height()/2) - 250);
Xpos = (($(window).width()/2) - 250);
$('body').append("<div id=\"overlay\"></div>");
$('body').append("<div id=\"container\" >...</div>");
$('#overlay, #sluit').click(function() {
$('#container').remove();
$('#overlay').remove();
});
});[/JS]
Het lijkt wel, alsof bij elk nieuw geplaatst img de hele
.img-class opnieuw de functie doorloopt, en dus elke eerder geplaatste pop-up cq overlay nog eens herhaald wordt.
Zou het soms iets moeten zijn in de geest van:
[JS]$(".img").click(function() {
Ypos = (($(window).height()/2) - 250);
Xpos = (($(window).width()/2) - 250);
$('body').append("<div id=\"overlay\"></div>");
$('body').append("<div id=\"container\" >...</div>");
$('#overlay, #sluit').click(function() {
$('#container').remove();
$('#overlay').remove();
});
});
$(".img img").click(function() {
name = $(this).attr('name');
info = $(this).attr('alt');
});[/JS]
?
Hierbij kan ik het laatste ronde haakje
}); bij de afsluiting van veel van je functies niet goed plaatsen: ik zie geen openingshaakje
( dat afgesloten zou moeten worden; of is dit een jQuery-vereiste?
Misschien loont het ook de moeite om te kijken welke opmerkingen
JSLint bij het script geeft. Die heeft het o.a. over "Mixed spaces and tabs" en "'parseXml' was used before it was defined."
Ik snap dat niet, maar misschien kan jij ermee overweg.
De html-validator heeft trouwens ook wat
opmerkingen, als ik de gegenereerde code laat valideren.
Tenslotte hoop ik vurig dat dit een experiment is en geen echte site moet worden, want bv. iemand met een pure tekstbrowser ziet:
Niets dus: compleet ontoegankelijk

... en ook Google e.a. zoekmachines zullen het op deze manier niet ver schoppen.
Met vriendelijke groet,
CSShunter