henkzMedlem sedan apr. 2002183 inlägg Jag använder koden nedan för att öppna bilder och som det är nu öppnas bilderna men stänger inte de redan öppna när man trycker på ny bild..
Antal div/bilder varierar mellan 1-50.
Lösning:
Varje gång man klickar för visning av bild, ska andra öppna bilder stängas.
function switchThis(whatelement) {
var objLayer = document.getElementById(whatelement);
state = (objLayer.style.display == 'none') ? 'block' : 'none';
objLayer.style.display = state;
}
<img src="bild00.jpg" onClick="switchThis('galleria0');" width="47" height="49" />
<div id="galleria0" style="display: none;"><img src="bild00.jpg" border="1" onClick="switchThis('galleria0');" /></div>
<img src="bild01.jpg" onClick="switchThis('galleria1');" width="47" height="49" />
<div id="galleria1" style="display: none;"><img src="bild01.jpg" border="1" onClick="switchThis('galleria1');" /></div>
o.s.v..
JojoxxMedlem sedan juni 20004 308 inlägg Ungefär så här:
function switchThis(whatelement) {
if(lastElement && lastElement != whatelement) {
document.getElementById(lastElement).style.display = 'none';
}
lastElement = whatelement;
var objLayer = document.getElementById(whatelement);
state = (objLayer.style.display == 'none') ? 'block' : 'none';
objLayer.style.display = state;
}
henkzMedlem sedan apr. 2002183 inlägg Tack, men något litet fel ligger det nog i koden.
Det kommer inte fram några bilder längre..
henkzMedlem sedan apr. 2002183 inlägg Sökte runt på sidan med fraser från din kod och fann denna kod som funkade.
Tack för hjälpen (y)
function switchThis(whatelement) {
var objLayer = document.getElementById(whatelement);
state = (objLayer.style.display == 'none') ? 'block' : 'none';
if (elm != "" && document.getElementById(elm)){
document.getElementById(elm).style.display = "none";
}
objLayer.style.display = state;
elm = whatelement;
}
JojoxxMedlem sedan juni 20004 308 inlägg Yes, hade kastat in ett likamed-tecken för mycket. Skrev utan att testa :)