---
title: "Problem med togglefunktion i meny"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/150813-problem-med-togglefunktion-i-meny"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Mabe"
published: "2006-09-01T19:16:40.000Z"
updated: "2006-09-01T21:57:28.000Z"
replies: 5
views: 387
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/150813-problem-med-togglefunktion-i-meny"
---

# Problem med togglefunktion i meny

## #1 — Mabe, 2006-09-01T19:16Z

Har en javascritptbaserad meny, med dynamiska undermenyer som inte vill fungera som jag tänkt. Tanken är att ett klick på ett alternativ i huvudmenyn ska få olika undermenyer att dyka upp. Klickar man på samma val i huvudmenyn ska undermenyn försvinna. Klickar man på ett annat alternativ i menyn ska motsvarande undermeny dyka upp.

Problemet med den aktuella toggle-funktionen är att tre klick på samma alternativ i huvudmenyn får scriptet att spåra ur... undermenyn dyker inte upp. 

Kika på <http://bold.se/forum/boldmeny/>

Finns det någon som har något förbättringsförslag för javascriptet?

```
<script type="text/javascript">
var p = 0; /* p = previously opened element. */

function toggle(id){
var e = document.getElementById(id);
e.style.display = 'block';
hide_mnu(id);
p = id;
}
function hide_mnu(id){
if(p != 0){
var e = document.getElementById(p);
e.style.display = 'none';
}
}
</script>
```

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

## #2 — Fuel, 2006-09-01T21:30Z

..........

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

## #3 — nitro2k01, 2006-09-01T21:49Z

Jag har blankt ingen aning om vad du egentligen gjorde för fel, men jag rekommenderar denna kod:

```
<script type="text/javascript">
function click_mnu(id){
	var cn = document.getElementById("subnav").childNodes;

	for (var i=0; i<cn.length; i++){
		if (cn[i].id == id){

			if (cn[i].style.display == 'block')
				cn[i].style.display = 'none';
			else
				cn[i].style.display = 'block';

		}else if(cn[i].nodeType==1){

				cn[i].style.display = 'none';
		}
	}

	return false;
}
</script>
```

... samt ...

```
<ul id="meny">
<li id="meny-startsida"><a href="#">Startsida</a></li>
<li id="meny-forum"><a href="#" onclick="return click_mnu('sub1');">Forum</a></li>
<li id="meny-tjanster"><a href="#" onclick="return click_mnu('sub2');">TjŠnster</a></li>
<li id="meny-installningar"><a href="#" onclick="return click_mnu('sub3');">InstŠllningar</a></li>
<li id="meny-partners"><a href="#" >Partners</a></li>
<li id="meny-ombold"><a href="#" onclick="return click_mnu('sub4');" >Om Bold</a></li>

</ul>
```

Välkommen till webForum för övrigt!

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

## #4 — Fuel, 2006-09-01T21:52Z

.........

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

## #5 — Mabe, 2006-09-01T21:54Z

Tackar, fungerar precis som jag ville från början. :)

/M

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

## #6 — nitro2k01, 2006-09-01T21:57Z

Mabe: Det var så lite så! Det finns en länk ovanför varje inlägg för att acceptera svaret som slutgiltigt. Det får du gärna göra om du är nöjd med svaret. Hoppas också att du kommer att stanna på wF!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/150813-problem-med-togglefunktion-i-meny
