webForumDet fria alternativet

Error script?

3 svar · 183 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

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>

------------------
/nordan

[Redigerat av nordan den 09 sep 2001]

JojoxxMedlem sedan juni 20004 308 inlägg
#2

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).

------------------
/ J

spangoMedlem sedan juni 20008 205 inlägg
#3

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

------------------
God, root, what is difference? /Pitr

JojoxxMedlem sedan juni 20004 308 inlägg
#4

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

------------------
/ J

125 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)