webForumDet fria alternativet

style.left och top fungerar inte?

JavaScript

4 svar · 296 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Frågan#1

Hejsan,

Undrar om jag skrivit fel eller om det finns andra sätt att positionera ut en div...?

Jag har en div:

<div id="divImg">UserImage here</div>

och sen javascriptkod:

function xyz()
{
   ........
   document.getElementById("divImg").style.top = 80;
   document.getElementById("divImg").style.left = 100;
   .........
}

Jag generar värdena dynamiskt men det blir ändå fel när jag sätter statiska värden för bilderna hamnar alltid högst upp i vänstra hörnet..? (Funktionen triggas när man klickar på en hyperlänk).

Medlem sedan aug. 20039 340 inlägg
#2
  1. Du måste sätta position: absolute; för diven. Det enklaste sättet (Som också kan återanvändas) är att skapa en klass för detta ändamål.
  2. Du bör (Även om det kanske inte är helt nödvändigt) lägga till px efter positionen, alltså:
[b]<style type="text/css">
.pa  {position: absolute;}
</style>[/b]

<div [b]class="pa"[/b] id="divImg">UserImage here</div>
<script type="text/javascript">
function xyz()
{
   ........
   document.getElementById("divImg").style.top = [b]"80px"[/b];
   document.getElementById("divImg").style.left = [b]"100px"[/b];
// Eller om du har koordinaterna i variabler:
   document.getElementById("divImg").style.top = [b]foo + "px"[/b];
   document.getElementById("divImg").style.left = [b]bar + "px"[/b];
// Där foo och bar är variabler som innehåller positionen mätt i pixlar.
   .........
}
</script>
Medlem sedan juni 2000504 inlägg
#3

aha.. position absolute.. funkar fint nitro2k01.. :) tackar o bockar..

Medlem sedan juni 2000504 inlägg
#4

En fråga till ang. det här.. den "dynamiska" positioneringen funkar sisådär på min sida... (använde det här scriptet som jag hittade på wF javascript länk :) )

Det jag sedan gör är att jag loopar fram bilder ur en databas och när man klickar en bild så bestäms koordinaterna för musklicket och div'en (var det tänkt) skulle placera sig ca 150px till vänster om den muskoordinaten... men av nån anledning så stämmer det bara för, säg, kanske de första 20 bilderna men sen så följer div'en inte alls med bra utan hamnar högt däruppe.. (alltså att man blir tvungen att scrolla upp igen för att se div'en).

Så jag tänkte att det kanske var bättre/enklare om man kunde göra så att div'en alltid hamnade på ett visst pixel avstånd från
browserns "väggar"...? Det går väl eller...? Eller finns det andra sätt...? :)

Jo, sen en annan sak, i Netscape 7 så reagerar den inte alls på

document.getElementById("divImg").style.top = 80 + "px";

t.ex. utan lägger sig högst upp ändå.. getElementById ska ju funka i både nya NS/IE..?

Medlem sedan juni 2000504 inlägg
#5

skulle bara säga att jojoxx tooltip funkade fint för behovet så jag använde detta istället... :)

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)