Bubbel
11-17-2010, 10:59 AM
I'm trying to make a simple image gallary where there are five images showing. When onmouseover a layer appears where a larger version of the pictures displays and under that picture are a checkbox. When checking the smaller picture underneath will change. And here is the problem, it doesn't change! Arrrghhh!
I'm trying to make it work like this:
Show all the pictures on a row.
Put the pictures I want to change into underneath those pictures and make them appear when checkbox is checked.
Is that even a possible way to do this or am I just wasting my time?
Heres my code:
/.../
<script type="text/javascript" language="javascript">
function showPictLayer(nr,show) {
var element = document.getElementById("storBild"+nr);
if (show) element.style.visibility = "visible";
else element.style.visibility = "hidden";
}
function showHidePict(nr) {
var element = document.getElementById("storBild"+nr);
if (element.style.visibility == "visible") show = false;
else var show = true;
for (var i=0; i<5; i++) showPictLayer(i,false);
showPictLayer(nr,show);
}
function showClear(nr) {
var clear = document.getElementById("clear" +nr);
if (clear.checked == true) {
document.getElementById("clear" +nr).src = imgNr;
}
}
</script>
</head>
<body>
<ul id="bilder">
<li class="bildBox">
<div onmouseover="showPictLayer(0,true)" onmouseout="showHidePict(0,false)"><span><img name="Båt" src="pics/boats_small0.jpg" alt="grå båt" /></span>
<ul id="storBild0">
<li><img id="Båt" src="pics/boats_small1.jpg" alt="båt" /></li>
<li><label><input type="checkbox" name="Kryss0" onclick="showClear(0)" /> Båt i sjö</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(1,true)" onmouseout="showHidePict(1,false)"><span><img name="Fjäril" src="pics/butterfly_small0.jpg" alt="grå fjäril" /></span>
<ul id="storBild1">
<li><img id="Fjäril" src="pics/butterfly_small1.jpg" alt="fjäril" /></li>
<li><label><input type="checkbox" name="Kryss1" onclick="showClear(1)" /> Fjäril</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(2,true)" onmouseout="showHidePict(2,false)"><span><img name="Kyrka" src="pics/church_small0.jpg" alt="grå kyrka" /></span>
<ul id="storBild2">
<li><img id="Kyrka" src="pics/church_small1.jpg" alt="kyrka" /></li>
<li><label><input type="checkbox" name="Kryss2" onclick="showClear(2)" /> Kyrka</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(3,true)" onmouseout="showHidePict(3,false)"><span><img name="Blomma" src="pics/flower_small0.jpg" alt="grå blomma" /></span>
<ul id="storBild3">
<li><img id="Blomma" src="pics/flower_small1.jpg" alt="blomma" /></li>
<li><label><input type="checkbox" name="Kryss3" onclick="showClear(3)" /> Lila blomma</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(4,true)" onmouseout="showHidePict(4,false)"><span><img name="Glas" src="pics/glass_small0.jpg" alt="grå glas" /></span>
<ul id="storBild4">
<li><img id="Glas" src="pics/glass_small1.jpg" alt="glas" /></li>
<li><label><input type="checkbox" name="Kryss4" onclick="showClear(4)" /> Glasblåsning</label></li>
</ul>
</div>
</li>
</ul>
<ul id="klaraBilder">
<li id="clear0"><span><img name="Båt" src="pics/boats_small1.jpg" alt="grå båt" /></span></li>
<li id="clear1"><span><img name="Fjäril" src="pics/butterfly_small1.jpg" alt="grå fjäril" /></span></li>
<li id="clear2"><span><img name="Kyrka" src="pics/church_small1.jpg" alt="grå kyrka" /></span></li>
<li id="clear3"><span><img name="Blomma" src="pics/flower_small1.jpg" alt="grå blomma" /></span></li>
<li id="clear4"><span><img name="Glas" src="pics/glass_small1.jpg" alt="grå glas" /></span></li>
</ul>
<div id=button>
<input type="button" value="Visa bildspel" />
</div>
</body>
</html>
Or is it the css thats wrong? I know its something wrong with it because it will not show the pictures at the same place as I want them too... But is it something else as well?
#bilder {display:table.row; }
#bilder li span {cursor:pointer;}
#bilder ul {visibility:hidden;}
.bildBox {display:table-cell; width:280px;}
.bildBox div {position:relative; display:inline-block;}
.bildBox ul {list-style:none; position:absolute;
top:30px; left:20px; z-index:10;
background:#DDDDDD; color:#333333; border:2px outset #333333; '
width:200px; padding:6px;}
.bildBox ul img {height:200px; width:250px;}
#klaraBilder {display:table.row; }
#klaraBilder li {position:relative; display:inline-block; width:144px;}
#button {position:relative; top:20px; }
Any advise or tips on how I should solve this?
I'm trying to make it work like this:
Show all the pictures on a row.
Put the pictures I want to change into underneath those pictures and make them appear when checkbox is checked.
Is that even a possible way to do this or am I just wasting my time?
Heres my code:
/.../
<script type="text/javascript" language="javascript">
function showPictLayer(nr,show) {
var element = document.getElementById("storBild"+nr);
if (show) element.style.visibility = "visible";
else element.style.visibility = "hidden";
}
function showHidePict(nr) {
var element = document.getElementById("storBild"+nr);
if (element.style.visibility == "visible") show = false;
else var show = true;
for (var i=0; i<5; i++) showPictLayer(i,false);
showPictLayer(nr,show);
}
function showClear(nr) {
var clear = document.getElementById("clear" +nr);
if (clear.checked == true) {
document.getElementById("clear" +nr).src = imgNr;
}
}
</script>
</head>
<body>
<ul id="bilder">
<li class="bildBox">
<div onmouseover="showPictLayer(0,true)" onmouseout="showHidePict(0,false)"><span><img name="Båt" src="pics/boats_small0.jpg" alt="grå båt" /></span>
<ul id="storBild0">
<li><img id="Båt" src="pics/boats_small1.jpg" alt="båt" /></li>
<li><label><input type="checkbox" name="Kryss0" onclick="showClear(0)" /> Båt i sjö</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(1,true)" onmouseout="showHidePict(1,false)"><span><img name="Fjäril" src="pics/butterfly_small0.jpg" alt="grå fjäril" /></span>
<ul id="storBild1">
<li><img id="Fjäril" src="pics/butterfly_small1.jpg" alt="fjäril" /></li>
<li><label><input type="checkbox" name="Kryss1" onclick="showClear(1)" /> Fjäril</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(2,true)" onmouseout="showHidePict(2,false)"><span><img name="Kyrka" src="pics/church_small0.jpg" alt="grå kyrka" /></span>
<ul id="storBild2">
<li><img id="Kyrka" src="pics/church_small1.jpg" alt="kyrka" /></li>
<li><label><input type="checkbox" name="Kryss2" onclick="showClear(2)" /> Kyrka</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(3,true)" onmouseout="showHidePict(3,false)"><span><img name="Blomma" src="pics/flower_small0.jpg" alt="grå blomma" /></span>
<ul id="storBild3">
<li><img id="Blomma" src="pics/flower_small1.jpg" alt="blomma" /></li>
<li><label><input type="checkbox" name="Kryss3" onclick="showClear(3)" /> Lila blomma</label></li>
</ul>
</div>
</li>
<li class="bildBox">
<div onmouseover="showPictLayer(4,true)" onmouseout="showHidePict(4,false)"><span><img name="Glas" src="pics/glass_small0.jpg" alt="grå glas" /></span>
<ul id="storBild4">
<li><img id="Glas" src="pics/glass_small1.jpg" alt="glas" /></li>
<li><label><input type="checkbox" name="Kryss4" onclick="showClear(4)" /> Glasblåsning</label></li>
</ul>
</div>
</li>
</ul>
<ul id="klaraBilder">
<li id="clear0"><span><img name="Båt" src="pics/boats_small1.jpg" alt="grå båt" /></span></li>
<li id="clear1"><span><img name="Fjäril" src="pics/butterfly_small1.jpg" alt="grå fjäril" /></span></li>
<li id="clear2"><span><img name="Kyrka" src="pics/church_small1.jpg" alt="grå kyrka" /></span></li>
<li id="clear3"><span><img name="Blomma" src="pics/flower_small1.jpg" alt="grå blomma" /></span></li>
<li id="clear4"><span><img name="Glas" src="pics/glass_small1.jpg" alt="grå glas" /></span></li>
</ul>
<div id=button>
<input type="button" value="Visa bildspel" />
</div>
</body>
</html>
Or is it the css thats wrong? I know its something wrong with it because it will not show the pictures at the same place as I want them too... But is it something else as well?
#bilder {display:table.row; }
#bilder li span {cursor:pointer;}
#bilder ul {visibility:hidden;}
.bildBox {display:table-cell; width:280px;}
.bildBox div {position:relative; display:inline-block;}
.bildBox ul {list-style:none; position:absolute;
top:30px; left:20px; z-index:10;
background:#DDDDDD; color:#333333; border:2px outset #333333; '
width:200px; padding:6px;}
.bildBox ul img {height:200px; width:250px;}
#klaraBilder {display:table.row; }
#klaraBilder li {position:relative; display:inline-block; width:144px;}
#button {position:relative; top:20px; }
Any advise or tips on how I should solve this?