---
title: "Kolla om Lager är Synligt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18741-kolla-om-lager-är-synligt"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "nill"
published: "2002-01-14T15:05:00.000Z"
updated: "2002-01-14T15:37:00.000Z"
replies: 1
views: 162
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/18741-kolla-om-lager-är-synligt"
---

# Kolla om Lager är Synligt

## #1 — nill, 2002-01-14T15:05Z

På vårt lilla community dyker där upp ett lager(typ en popup) om man får meddelande. Men om man nu får meddelande samtidigt som man i det lager håller på att svara på ett meddelande så blir det två lager med samma ID-namn som hamnar över varandra. Detta är ju lite buggigt och det går dessutom inte att dölja lagrerna (förmodligen beroende på att båda har samma ID).

Kan man på något sätt kolla innan lagret visas om det finns något annat lager med det ID't som är synligt och i så fall inte utföra resten av koden ?

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

## #2 — Jojoxx, 2002-01-14T15:37Z

Är det inte bättre i så fall att kolla om lagret finns hellre än att bara kolla om det är synligt. Annars riskerar du att få 2 lager med samma namn -- ett synligt och ett gömt. Kolla om lagret finns kan du göra med en sån här funktion;

```
function layerExist(Id){
	if (document.all){
		return document.all[Id];
	} else if (document.getElementById){
		return document.getElementById(Id);
	} else if (document.layers){
		return 	document.layers[Id];
	}
}
```

Kolla med **if(layerExist('mitt_lager'))**.

Att kolla om lagret är synligt kan du göra med;

```
function isVisible(Id){
	if (document.all){
		return (document.all[Id].style.visibility == "visible");
	} else if (document.getElementById){
		return (document.getElementById(Id).style.visibility == "visible");
	} else if (document.layers){
		return 	(document.layers[Id].visibility == "show");
	}
}
```

Kollas med **if(isVisible('mitt_lager'))** men det förutsätter att egenskapen **visibility:visible;** är satt när lagret skapas.

Men som sagt, den första varianten är att föredra eftersom du ändå inte "får" ha 2 element med samma id.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18741-kolla-om-lager-är-synligt
