Hejsan. Jag har allvarliga problem med att få mitt javascript för att visa/dölja lager att fungera som det ska.
Kolla http://cmt.mine.nu
rad 150.
Får felmeddelande (lokalt) om att objekt förväntas eller nåt..
please help me! :)
10 svar · 330 visningar · startad av cmt
Hejsan. Jag har allvarliga problem med att få mitt javascript för att visa/dölja lager att fungera som det ska.
Kolla http://cmt.mine.nu
rad 150.
Får felmeddelande (lokalt) om att objekt förväntas eller nåt..
please help me! :)
Välkommen till wF....
Några grundläggande fel:
Du kan ju inte deklarera en egen type och speciellt inte på svenska....
<SCRIPT LANGUAGE="JavaScript" TYPE="markering/javascript">
Ska vara
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
Din andra fetmiss ;) :p ...
Du skriver såhär och vil antagligen använda variabeln visa..
eval(lagerkod + '["bild2_text"]' + mallkod + '.visibility=visa');
Borde vara såhär:
eval(lagerkod + '["bild2_text"]' + mallkod + '.visibility='+visa);
onClick="bild1(hidden);"
bör vara
onClick="bild1('\\'hidden\\'');"
observera att det är enkelfnuttar (') innanför paranteserna. Detta för att det sedan i eval skall bli;
...visibility='hidden'
Hur kommer det sig att hideALL-funktioner "overridar"?
jag kör den (för att dölja alla andra bilder) och sen försöker jag visa bild1 med hjälp av funktion bild1..
allt detta i onclick..
ytterligare problem
har jag nu. Jag har lager (div) med alla bilder i. Och de stora bilderna (se http://cmt.mine.nu) ligger i lager med "absolut" position.. det innebär att om man skalar om fönstret, eller har icq öppet på sidan.. så hamnar bilderna fel..
jag försökte lägga bilderna direkt i table-cellen, med relative position.. men då fylls cellen upp med tomt utrymme för de bilderna som inte syns, dvs det blir tomt utrymme motsvarande 8 bilder, neråt..
any ideas?
En alternativ lösning:
<head>
<script type="text/javascript">
<!--
function swap(o){
var elm = document.all ? document.all["img"] : document.getElementById ? document.getElementById("img") : null;
if(elm) elm.src = o;
};
//-->
</script>
</head>
...
<table width="400" border="1">
<tr>
<td><img src="bild1.jpg" height="100" width="200" id="img"></td>
<td>
<img src="bild2.jpg" height="50" width="50" border="0" onclick="swap('bild_10.jpg')">
<img src="bild3.jpg" height="50" width="50" border="0" onclick="swap('bild_12.jpg')">
</td>
</tr>
</table>
:)
Måste erkänna att jag inte..
fattar nåt av ovanstående. Ska det där fungera även för fler bilder på samma gång? Mitt script som jag kör nu byter ju ut tre bilder i ett svep när man klickar..
tacksam för svar //j
Att lägga till fler bilder som skall bytas är inga problem. Klipp ut och klistra in följande kod och testa den!
<head>
<script type="text/javascript">
<!--
function getElm(s){
return document.all ? document.all[s] : document.getElementById ? document.getElementById(s) : null;
};
function swap(l, t){
var left = getElm("left"), top = getElm("top");
if(left && top){
left.src = l;
top.src = t;
}
};
//-->
</script>
</head>
<table width="400" border="1">
<tr>
<td colspan="2"><img src="top.jpg" height="50" width="150" border="0" id="top"></td>
</tr>
<tr>
<td><img src="left.jpg" height="100" width="200" id="left"></td>
<td>
<img src="bild2.jpg" height="50" width="50" border="0" onclick="swap('left1.jpg','top1.jpg')">
<img src="bild3.jpg" height="50" width="50" border="0" onclick="swap('left2.jpg','top2.jpg')">
</td>
</tr>
</table>
:)
Dum som man är sitter man o svarar i en annan tråd när en lösning redan är presenterad. :( :r
Iofs snudd på dubbelpost.