---
title: "document.layers"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/55610-document-layers"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "nordan"
published: "2002-10-09T21:37:38.000Z"
updated: "2002-10-10T18:33:57.000Z"
replies: 4
views: 276
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/55610-document-layers"
---

# document.layers

## #1 — nordan, 2002-10-09T21:37Z

document.layers\[lagerId\] has no properties.

får jag när jag kör mitt script i Netscape 4.7 men jag kan inte hitta vad jag har gjort för fel, någon som vet?
Det funkar i IE och NN 6
Jag har lagt ut den kod som körs när felet uppstår  :l 

```
function makelagers()
{
	var antallager = 2;
	var i = 0;
	var menylager = new Array();
	
	for(i; i<bilar.length; i++)
	{
		document.write("<div id=\"menylager"+i+"\" style=\"position:absolute; top: 60px;\" onMouseOut=\"hideLayer('menylager"+i+"')\"; ><a href=\"#\">"+bilar[i]+"</a></div>");
		var lager = "menylager"+i;
		var leftlagerbredd = "menylager"+(i-1);
                                hideLayer(lager);
	}	
	

}
```

```
function hideLayer(lagerId)
{
	if (document.all) 
	{
		document.all[lagerId].style.visibility = "hidden";
	} 
	else if (document.layers)
	{
		document.layers[lagerId].visibility = "hide";
	} 
	else if (document.getElementById)
	{
		document.getElementById(lagerId).style.visibility = "hidden";
	}	
}
```

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

## #2 — Jojoxx, 2002-10-10T05:38Z

Kan vara så att document.write() buffras och inte skrivs ut på en gång (utan att ha testat). Men du kan ju gömma det på en gång i style-attributet;

```
function makelagers()
{
	var antallager = 2;
	var i = 0;
	var menylager = new Array();
	
	for(i; i<bilar.length; i++)
	{
document.write("<div id=\"menylager"+i+"\" style=\"position:absolute; top: 60px; visibility:hidden;\" onMouseOut=\"hideLayer('menylager"+i+"')\"; ><a href=\"#\">"+bilar[i]+"</a></div>");
		// var leftlagerbredd = "menylager"+(i-1); // Denna använder du inte...?
	}	
	

}
```

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

## #3 — nordan, 2002-10-10T15:05Z

Kanske blir enklare om jag lägger ut hela scriptet
här där det <http://hem.passagen.se/load/passagen.htm>
Jojoxx \>\> jag fick det tyvärr inte att funka med du föreslog.

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

## #4 — Jojoxx, 2002-10-10T17:33Z

Glömde bort att Netscape 4 inte tycker om style-attributet när du skapar lager dynamiskt med document.write(). Tog en stund innan jag kom på det första gången ;)

Bifogar en zip med modifierad kod. Du kommer dock att märka att onMouseout inte funkar på \<div\> i Netscape 4. Där kan du ex lägga det i länken istället.

Bilagor:

- [exempel.zip](https://www.webforum.nu/a/574.zip)

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

## #5 — nordan, 2002-10-10T18:33Z

Tack för hjälpen  :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/55610-document-layers
