webForumDet fria alternativet

style.left och top fungerar inte?

4 svar · 294 visningar · startad av CokeLight

CokeLightMedlem sedan juni 2000506 inlägg
#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).

nitro2k01Medlem sedan aug. 20037 630 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>
CokeLightMedlem sedan juni 2000506 inlägg
#3

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

CokeLightMedlem sedan juni 2000506 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..?

CokeLightMedlem sedan juni 2000506 inlägg
#5

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

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb