---
title: "Layer-Scroll-Problem i NS"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/104162-layer-scroll-problem-i-ns"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Agogo"
published: "2004-05-22T23:41:47.000Z"
updated: "2004-05-23T14:46:37.000Z"
replies: 3
views: 192
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/104162-layer-scroll-problem-i-ns"
---

# Layer-Scroll-Problem i NS

## #1 — Agogo, 2004-05-22T23:41Z

Jag använder en enkel javascript-funktion som ska flytta på en \<div\> upp och ner på en sida. 

Allt fungerar toppen - förutom i NS så klart..

Det måste ju vara att NS inte gillar div-hanteringen på något sätt? Jag har inte en aning men jag har suttit och försökt buggfixa skiten i 3 timmar konstant och kan fan inte lista ut vad NS har för problem!?

Diven som skall förflyttas upp och ner är enklel:
**\<div id="text" style="position:absolute"\>**

Scrolla-funktionen körs med onMouseDown.
Stopp-funktionen körs med onMouseOut och onMouseUp.

Sidan kan ses här: <http://www.cobrakai.se>

Här är js-koden:
\-------------------------------------------------------------------------------

var objRef;
var steg=1;
var position=1;
var timer = null;
	
function scrolla(riktning) {

   if (document.layers) {
      objRef = document.text;
      lagerHojd = document.text.clip.height;
   }

   if (document.all) {
      objRef = document.all.text.style;
      lagerHojd = document.all.text.offsetHeight;
   }

   if (document.getElementById) {
      objRef = document.getElementById('text').style;
      lagerHojd = document.getElementById('text').offsetHeight;
   }

   if (riktning=="upp" && position\<0) {
      position+=5;
      objRef.top = position;
   }
			
   if (riktning=="ner" && position\>-(lagerHojd-200)) {
      position+=-5;
      objRef.top = position;
   }
timer = setTimeout("scrolla('" + riktning + "')",25);
}
		
function stopp(){
   clearTimeout(timer);
}

\-------------------------------------------------------------------------------

Tilläggas kan ju att jag har dålig koll på vad skillnaden är mellan document.all, document.layers och document.getElementById..

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

## #2 — Peter S, 2004-05-23T14:38Z

Vilken version avser du med "NS"? Du kan ju testa med att ange en enhet för lagrets position då denna uppdateras:

```
objRef.top = position [b]+ "px"[/b];
```

Gäller givetvis alla ställen i koden.

\- document.all gäller endast IE (tyvärr även Opera)
\- document.getElementById är standardsättet och fungerar i de nyare webbläsarna (inkl. ie5)
\- document.layers gäller endast de äldre NS-läsarna.

 :)

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

## #3 — Agogo, 2004-05-23T14:41Z

Det är Netscape 7.1 jag snackar om.. Det är därför jag blir så förvirrad av att det inte funkar!

Ska pröva det där med pixelmarkeing - återkommer.

Surt att man ska behöva gardera sig med 3 olika layerobjekt..

Tack föresten!

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

## #4 — Agogo, 2004-05-23T14:46Z

Helt sinnesjukt.

Har jag suttit i flera timmar och hållt på.. och så är det en så jäkla simpel sak som enhetsspecificering som är felet?! aaargh!!

Tackar Peter.. Du hjälpte mig inte bara med problemet - du poängterade också ett annat problem - att jag är körd i huvet. ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/104162-layer-scroll-problem-i-ns
