Avatar billede krogstrup Nybegynder
05. juni 2001 - 00:07 Der er 5 kommentarer og
1 løsning

Vis/skjul lag script til IE

I IE findes der en property for et lag, der hedder noget med style.display=none !?!

Er der een der kan lave et helt enkelt script med een funktion. Når funktionen kaldes skal funktionen undersøge om det kaldte lag er synligt eller ej. Hvis laget er synligt skal det skjules via display=none kommandoen og hvis laget er skjult skal det selfølgelig vises igen...

Det gør altså ikke noget at det kun virker i IE !
Avatar billede stigc Nybegynder
05. juni 2001 - 00:16 #1
her viser jeg hvordan du kan gemme og vise nogen div tags:

<script>

function test() {
if (children.style.display==\"none\")
    children.style.display=\"\";
    else
    children.style.display=\"none\";
}
</script>

<div onClick=\"test();\">Jeg har nogen BØRN</div>
<div style=\"display: none;\"  id=children>
<div>barn 1</div>
<div>barn 2</div>
<div>barn 3</div>
</div>


Avatar billede krogstrup Nybegynder
05. juni 2001 - 10:11 #2
Hej Stigc

Det virker ganske glimrende - men hvordan får jeg scriptet omskrevet således at jeg kan kalde funktionen med en parameter, nemlig hvilket lag jeg ønsker der skal vises/skjules ?

Jeg har prøvet med nedenstående, som ikke virker:


<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Test</title>
<script>
function change(layer) {
var obj = layer
if (obj.style.display==\"none\")
    obj.style.display=\"\";
    else
    obj.style.display=\"none\";
}
</script>
</head>

<body>

<div onClick=\"change(\'children\');\">Jeg har nogen BØRN</div>
<div style=\"display:none;\" id=children>
<div>barn 1</div>
<div>barn 2</div>
<div>barn 3</div>
</div>
<div>Ny test</div>

</body>
</html>
Avatar billede krogstrup Nybegynder
05. juni 2001 - 17:02 #3
Nå, fandt selv ud af det...

Anyway - tak for hjælpen :-)


<script language=\"JavaScript\">
function change(layer) {
if (document.all(layer).style.display==\"none\")
    document.all(layer).style.display=\"\";
else
    document.all(layer).style.display=\"none\";
}
</script>

<div onClick=\"change(\'children\');\">Jeg har nogen BØRN</div>
<div style=\"display: none;\"  id=children>
<div>barn 1</div>
<div>barn 2</div>

<div onClick=\"change(\'children2\');\">Jeg har nogen BØRN</div>
<div style=\"display: none;\"  id=children2>
<div>barn 1</div>
<div>barn 2</div>
<div>barn 3</div>
</div>

<div>barn 3</div>
</div>
<div>Nyt punkt</div>
Avatar billede olebole Juniormester
05. juni 2001 - 23:56 #4
<ole>
display:block - når det skal være synligt. Kaldt med java script:
document.all[layer].style.display = \"block\";  - i IE4...og HUSK firkantede brackets...!  ;o)
document.getElementById(layer).style.display = \"block\"; - i IE5+ og NS6+...selvom IE5 også forstår ovenstående.
.........style.display = \"\"; - er ikke det samme som:
.........style.display = \"block\";
/mvh
</bole>
Avatar billede krogstrup Nybegynder
06. juni 2001 - 08:39 #5
ole >>>

Kanon - tusind tak for hjælpen. Nu virker det også i NS6+ :-)
Avatar billede olebole Juniormester
06. juni 2001 - 13:00 #6
Anytime...  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester