---
title: "Error script?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18201-error-script"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "nordan"
published: "2001-09-09T11:46:00.000Z"
updated: "2001-09-09T13:07:00.000Z"
replies: 3
views: 186
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/18201-error-script"
---

# Error script?

## #1 — nordan, 2001-09-09T11:46Z

Hej!
Om man har detta script för att placera ett lager på rätt ställe beroende av upplösning. 

```
<script type="text/javascript" language="JavaScript">
<!--
function pos(){
 if(document.layers){document.layers["lager1"].left=(window.innerWidth/2)-252;}
else if(document.all){document.all("lager1").style.left=(document.body.offsetWidth/2)-252;}
else
if(document.getElementById){document.getElementById("lager1").style.left=(window.innerWidth/2)-252;}
</script>
```

Kan detta script leda till ett javascript error som ibland och ibland inte dyker upp?
Kan man byta ut paranteseran till klamrar på lagernamnen :q utan att det blir fel? eller finns det någon risk med detta? 
Nuvarande kod:
else if(document.all){document.all("lager1")
byter ut
else if(document.all){document.all\["lager1"\]
Jag har bytt ut detta på en sida och det verka funka utan att det blir error
Finns det någon risk med detta script?

```
<script type="text/javascript" language="JavaScript">
<!--
function pos(){
 if(document.layers){document.layers["lager1"].left=(window.innerWidth/2)-252;}
else if(document.all){document.all["lager1"].style.left=(document.body.offsetWidth/2)-252;}
else
if(document.getElementById){document.getElementById("lager1").style.left=(window.innerWidth/2)-252;}
</script>
```

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

## #2 — Jojoxx, 2001-09-09T12:41Z

Problemet beror på att du delar fönstrets bredd med 2 och därmed riskerar en 50% chans att få ett decimaltal som svar. Det är svårt för webbläsaren att placera ett lager på 112,5 pixlar :)

Använd alltså **parseInt(...uträkning...)** för att få ut heltal.

Sedan föreslår jag den senare varianten (hakparenteser).

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

## #3 — spango, 2001-09-09T13:01Z

Fast kanske Math.round(uträkning) vore bättre än parseInt(uträkning)...

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

## #4 — Jojoxx, 2001-09-09T13:07Z

Ja, det är klart. Man vill ju inte riskera att lagret sitter 1 pixel fel ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18201-error-script
