---
title: "Dölj div, on/off + toggle"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/151358-dölj-div-on-off-toggle"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Mattias Nordin"
published: "2006-09-16T10:07:05.000Z"
updated: "2007-03-11T10:33:10.000Z"
replies: 5
views: 637
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/151358-dölj-div-on-off-toggle"
---

# Dölj div, on/off + toggle

## #1 — Mattias Nordin, 2006-09-16T10:07Z

Hej alla glada!

Jag försöker få till en funktion som döljer / visar ett lager (div). I och med mina begränsade kunskaper i javascript så sökte jag på google och fann:

```
<script language="javascript"> 
// FUNCTION TO HANDLE HIDING OF DIV...
var state = 'none'; 
function showhide(layer_ref) { 
	if (state == 'block') { 
	state = 'none'; 
	} 
	else { 
	state = 'block'; 
	} 

	if (document.all) { //IS IE 4 or 5 (or 6 beta) 
	eval( "document.all." + layer_ref + ".style.display = state"); 
	} 

	if (document.layers) { //IS NETSCAPE 4 or below 
	document.layers[layer_ref].display = state; 
	} 

	if (document.getElementById &&!document.all) { 
	hza = document.getElementById(layer_ref); 
	hza.style.display = state; 
	} 
} 
</script>
```

Denna fungerar bra men jag skulle behöva komplettera den så att jag kan har möjligheterna:

1) Toggle on/off som det fungerar ovan.
2) Sätt till off enbart.
3) Sätt till on enbart.

Antar att det är ganska lätt när man förstår koden ovan. Kod exemplet ovan kanske inte är så bra?

Hjälp mottages tacksamt. 

PS har för mig att jag har ställt en liknande fråga tidigare men kan inte finna den DS

Permalänk: https://www.webforum.nu/p/151358

## #2 — nitro2k01, 2006-09-16T14:37Z

Här är en ganska flexibel funktion som jag har skrivit:

```
<script type="text/javascript">
function $(s){
    if ('string'==typeof s)
        return document.getElementById(s);
    else
        return s;
}

function toggle(el, state){
	var els=$(el).style;

	if ('undefined' != typeof state)
		els.display=state?'block':'none';
	else
		els.display=(els.display=='block')?'none':'block';
}

</script>

Exempel:
toggle('lager1'); // Toggla
toggle(document.getElementById(lager2), true); // Visa
toggle(this, false); /* Göm (this can du bara använda på detta sätt
inline i en event handler, t ex <img onclick="toggle(this, false);" />) */
```

Permalänk: https://www.webforum.nu/p/1868142

## #3 — Mattias Nordin, 2006-09-17T11:22Z

Snyggt !

Permalänk: https://www.webforum.nu/p/1868450

## #4 — Mattias Nordin, 2007-03-11T10:15Z

Hej igen,

Jag behöver lite assistans med Nitros kodovan. Tanken är väl att den ska fungera typ som följande!?

```
<script type="text/javascript">
function $(s){
    if ('string'==typeof s)
        return document.getElementById(s);
    else
        return s;
}

function toggle(el, state){
	var els=$(el).style;

	if ('undefined' != typeof state)
		els.display=state?'block':'none';
	else
		els.display=(els.display=='block')?'none':'block';
}
</script>

<div id="test2" name="test2">
Dölj / visa denna text...
</div>

<script type="text/javascript">
toggle(document.getElementById(test2), false);
</script>
```

Jag gör dock fel någonstans för jag får varken något felmeddelande eller resultat. Jag har labbat lite med funktionen men då javascriptet är lite grekiska så vet jag inte ens vad som borde ske.

Det jag resultat jag förväntar mig är att mitt exempel ovan ska dölja innehållet i \<div id=test2\>

Vad gör jag för fel?

Permalänk: https://www.webforum.nu/p/1944320

## #5 — Peter S, 2007-03-11T10:23Z

```
<script type="text/javascript">
toggle(document.getElementById([red]"test2"[/red]), false);
</script>
```

Permalänk: https://www.webforum.nu/p/1944324

## #6 — Mattias Nordin, 2007-03-11T10:33Z

Åååå... vet inte om man blir frusterarad över att missa en sådan sak eller om man blir glad för att det var så enkelt att fixa. Tack.

Permalänk: https://www.webforum.nu/p/1944328

---

Tråden på webben: https://www.webforum.nu/amne/javascript/151358-dölj-div-on-off-toggle
