---
title: "Öppna en meny, stäng övriga menyer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/176465-öppna-en-meny-stäng-övriga-menyer"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Sasch"
published: "2009-01-22T17:52:49.000Z"
updated: "2009-01-28T16:17:58.000Z"
replies: 2
views: 352
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/176465-öppna-en-meny-stäng-övriga-menyer"
---

# Öppna en meny, stäng övriga menyer

## #1 — Sasch, 2009-01-22T17:52Z

Nu känner mig rätt frustrerad över det här. Sitter och försöker skapa ett vettigt menysystem (öppna en meny, stäng övriga). Problemet ligger väl i att jag vill ha det relativt dynamiskt ändå utan if-satser för alla alternativ eftersom det kan komma att dyka upp fler menyer. Sedan tror jag iofs arrayen kanske inte behövs så länge den inte hjälper till att hålla koll på hur många "menyer" som finns - hur många gånger det loopas för att stänga de andra.

Subfråga: Kan man förresten kolla hur många poster en array håller relativt enkelt? 

javascript:

```

var styleArray = new Array("cookie","tool","about");
function navigationVisibility(item) {
   for (var x=0; x<=2; x++) {

       layerCheck = styleArray[x];
       var itemToggle = document.getElementById(layerCheck).style.display;

       if (layerCheck == item){
           if (document.getElementById(layerCheck).style.display == "none") {
          document.getElementById(layerCheck).style.display="block"; }
       } else {
          document.getElementById(layerCheck).style.display="none";}
   }

}
```

Html

```
<div id="foot"><a href="#" onClick="javascript: navigationVisibility('cookie');">Cookies</a> | <a href="#" onClick="javascript: navigationVisibility('tool');">More tools</a> | <a href="#" onClick="javascript: navigationVisibility('about');">About/Help</a></div>

	<div id="about"> [...] </div>

	<div id="cookie"> [...] </div>

	<div id="tool"> [...] </div>
```

Jag kan för allt i världen inte förstå vad det är som ställer till det...

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

## #2 — nitro2k01, 2009-01-22T21:06Z

Nåt sånt här kanske?

```
<script>
var styleArray = new Array("cookie","tool","about");
function navigationVisibility(item) {
   for (var x=0; x<styleArray.length; x++) {

       layerCheck = styleArray[x];
       var itemToggle = document.getElementById(layerCheck).style.display;

       if (layerCheck == item){
          document.getElementById(layerCheck).style.display="block";
       } else {
          document.getElementById(layerCheck).style.display="none";
       }
   }

}

</script>
<div id="foot"><a href="#" onClick="javascript: navigationVisibility('cookie');">Cookies</a> | <a href="#" onClick="javascript: navigationVisibility('tool');">More tools</a> | <a href="#" onClick="javascript: navigationVisibility('about');">About/Help</a></div>

	<div id="about"> [about] </div>

	<div id="cookie"> [cookie] </div>

	<div id="tool"> [tool] </div>
```

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

## #3 — Sasch, 2009-01-28T16:17Z

Blev kalas :) Tack för hjälpen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/176465-öppna-en-meny-stäng-övriga-menyer
