G garda Medlem sedan dec. 2001 39 inlägg Frågan 1 mars 2004 20:39 #1 Brukar använda en funktion som ungefär ser ut så här för att visa och dölja tex. en tabell.
function visaDolj(Namn)
{
obj=document.getElementById(Namn);
if (obj.style.display == 'inline')
{
obj.style.display = 'none';
}
else
{
obj.style.display = 'inline';
}
}
Men om jag har flera objekt och vill att när jag visar ett objekt döljs de övriga,
är det någon som har någon idé att på något enkelt sätt fixa det??
J Jojoxx Medlem sedan juni 2000 4 308 inlägg var current=false;
function visaDolj(Namn)
{
obj=document.getElementById(Namn);
if(current){ current.style.display='none'; current=obj; }
if (obj.style.display == 'inline')
{
obj.style.display = 'none';
}
else
{
obj.style.display = 'inline';
}
}
G garda Medlem sedan dec. 2001 39 inlägg Tack för ett snabbt svar, men...
det blir ingen skillnad. Om jag använder koden i en "plus-minus"
meny vill jag att de övriga fälls ihop när jag trycker på en ny...
Alltså är menyn utfälld och jag trycker på en annan ska alla ihop utom den jag trycker på, som ska ut...:-)
/garda
dectgap Medlem sedan sep. 2002 1 655 inlägg Då får du ange vilka element som ska döljas, t ex så här:
var current=false;
// Array som innehåller idn på elementen som ska påverkas
var elms = ["div1", "div2", "div3"];
function visaDolj(Namn)
{
for(var i=0;i<elms.length;i++)
document.getElementById(elms[i]).style.display = "none";
obj=document.getElementById(Namn);
obj.style.display = (obj.style.display=="inline") ? "none" : "inline";
}
G garda Medlem sedan dec. 2001 39 inlägg Det känns som något inte stämmer med div:arna...
Det står helt still i huvudet!
<html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
\<script language="Javascript" type="text/javascript"\>
\<!--
// Array som innehåller idn på elementen som ska påverkas
var elms = \["div1", "div2", "div3"\];
function visaDolj(Namn)
{
for(var i=0;i\<elms.length;i++)
document.getElementById(elms*).style.display = "none";
obj=document.getElementById(Namn);
obj.style.display = (obj.style.display=="inline") ? "none" : "inline";
}
\--\>
\</script\>
\</head\>
\<body\>
\<a href="#" onClick="visaDolj('div1');"\>ETT\</a\>
\<br\>\<br\>
\<span style="display:none;" id="div1"\>
\<a target="main" href=#\>ETT.ETT\</a\>\<br\>
\<a href=#\>ETT.TVÅ\</a\>\<br\>
\<a href=#\>ETT.TRE\</a\>\<br\>\<br\>
\</span\>
\<a href="javascript:visaDolj('div2')"\>TVÅ\</a\>
\<br\>\<br\>
\<span style="display:none;" id="div2"\>
\<a href=#\>TVÅ.ETT\</a\>\<br\>
\<a href=#\>TVÅ.TVÅ\</a\>\<br\>
\<a href=#\>TVÅ.TRE\</a\>\<br\>
\</span\>
\</body\>
</html>*
G garda Medlem sedan dec. 2001 39 inlägg Nu ger jag snart upp, har slitit i mitt hår hela dagen....
Någon som har ett bra tips??
Jesper T Medlem sedan nov. 2001 7 144 inlägg var elms = ["div1", "div2"];
Du har ju ingen "div3".
Kom ihåg att ta bort mellanrummet mellan java och script. :)