---
title: "Scripta för NS6?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18459-scripta-för-ns6"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "arro"
published: "2001-11-09T13:45:00.000Z"
updated: "2001-11-10T13:53:00.000Z"
replies: 7
views: 202
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/18459-scripta-för-ns6"
---

# Scripta för NS6?

## #1 — arro, 2001-11-09T13:45Z

är det någon som förstår sig på Netscape 6 nya DOM? Kan ni isåfall hjälpa mig med följande kod (som positionerar lager och visar olika lager, beroende på var man trycker) som funkar i gamla DOM men inte i NS6.

Scriptet "in action" finns på <http://www.andreasrolfer.com>  .

Eller vet någon ett bra ställe att läsa om NS6 DOM, så kan jag fixa det själv...

```
<script language="JavaScript">
<!--

// Bestämmer webbläsare
var isNav= false;
var isIE= false;
var engage = false;
var activeLayer = 'window';
var contentWidth = 640;
var contentHeight = 700;

if(navigator.appName=="Netscape") {
isNav= true;
}
if(navigator.appName=="Microsoft Internet Explorer") {
isIE= true;
}

//layers section

function viewDescription(layername) {

if(isIE) {
if(document.all[layername].style.visibility!="visible") {
document.all[activeLayer].style.visibility = "hidden";
document.all[layername].style.visibility = "visible";
activeLayer = layername;
} else {
document.all[activeLayer].style.visibility = "hidden";
}
}

if(isNav) {
if(document.layers["mammalager"].document.layers[layername].visibility!="show") {
document.layers["mammalager"].document.layers[activeLayer].visibility = "hide";
document.layers["mammalager"].document.layers[layername].visibility = "show";
activeLayer = layername;
} else {
document.layers["mammalager"].document.layers[activeLayer].visibility = "hide";
}
}
}
// -->
</script>
</head>
<body bgcolor="#FFFFFF" text="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<script language="JavaScript">
if (isIE) {
var mammalager_left = Math.round((document.body.clientWidth-contentWidth)/2);
var mammalager_top = Math.round((document.body.clientHeight-contentHeight)/2);
} else {
var mammalager_left = Math.round((window.innerWidth-contentWidth)/2);
var mammalager_top = Math.round((window.innerHeight-contentHeight)/2);
}
if (mammalager_left <= 0) { mammalager_left = 0; }
if (mammalager_top <= 0) { mammalager_top = 0; }
document.writeln('<div id="mammalager" style="position: absolute; visibility: visible; left:'+mammalager_left+'px; top: '+mammalager_top+'px; width: 640px; height: 558px; z-index: 0;">');
</script>
```

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

## #2 — Jon, 2001-11-09T16:57Z

Kan hjälpa dig med visibility problemet i alla fall.
Kolla om det är ns6 med:

```
if(document.getElementById)
	{
		// göra saker
	}
```

Visa/dölj:

```
document.getElementById(layername).style.visibility="hidden";
document.getElementById(layername).style.visibility="visible";
```

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

## #3 — beiker, 2001-11-09T16:59Z

document.all\['id'\] finns inte i ie6... kör document.getElementById('istället')

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

## #4 — beiker, 2001-11-09T17:03Z

hehe... fan vad soft... en svarade före när jag snackade i telefon... jaja... kan väl lägga till lite... har inte 110% koll på det än men alla grejer jag har gjort för ns6 funkar i ie6 så om du inte hittar någon dokumentation om ie6 så läs det om ns6 istället... det är äntligen på väg att bli någon sorts standardisering... så om fem år kanske man slipper skriva för tre olika webbläsare + fulkodsversioner för mac... utopi iof... kommer aldrig att hända...

tjipp

/beiker

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

## #5 — arro, 2001-11-09T17:06Z

Jaja, tack för hjälpen men det funkar tyvärr inte. Skiljer sig eventhandlers från tidigare versioner?

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

## #6 — Jon, 2001-11-09T17:13Z

Visst skiljer sig eventhandlers åt.
ger ett lite större exempel.
Koden kollar om musen flyttas och flyttar ett lager med musen. Det kanske ger lite förståelse :)

```

if (document.all)
{
	document.onmousemove = move;
}
else if (document.layers)
{
	window.captureEvents(Event.MOUSEMOVE);
	window.onMouseMove = move;
}
else if (document.getElementById)
{
	document.addEventListener("mousemove",move,true);
}

var Xmusposition;
var Ymusposition;

function move(ev)
{	
	if (document.all)
	{
		Xmusposition = window.event.x;
		Ymusposition = window.event.y;
	}
	else if (document.layers)
	{
		Xmusposition = ev.pageX;
		Ymusposition = ev.pageY;
	}
	else if (document.getElementById)
	{
		Xmusposition = ev.pageX;
		Ymusposition = ev.pageY;
	}
	
	flytta_lager(divnamn,Xmusposition,Ymusposition);
}

function flytta_lager(lagernamn,x,y)
{
	if (document.all)
	{
		document.all[lagernamn].style.left = x;	
		document.all[lagernamn].style.top = y;
	}
	else if (document.layers)
	{
		document.layers[lagernamn].left = x;
		document.layers[lagernamn].top = y;
	}
	else if (document.getElementById)
	{
		var myobj;

		myObj = document.getElementById(lagernamn);
		myObj.style.left = x + "px";
		myObj.style.top = y + "px";
	}
}
```

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

## #7 — arro, 2001-11-10T00:08Z

Stort tack allihopa! Nu funkar det!

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

## #8 — spango, 2001-11-10T13:53Z

> document.all\['id'\] finns inte i ie6...

Verkligen? Det finns få saker som skulle kunna gjort mig gladare än det beskedet!

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18459-scripta-för-ns6
