[javascript] style.left geeft geen resultaat in IE

Pagina: 1
Acties:

  • metaal
  • Registratie: Juli 2001
  • Laatst online: 31-01-2025
Ik ben bezig met wat DHTML op mijn website. Ik wil van een DIV element de positie opvragen waar die staat. Ik dacht het met deze code te kunnen doen:
code:
1
alert(document.getElementById('naam_van_div').style.left);

Opera geeft dan perfect de positie van de linkerkant van het div element aan. In IE staat er helemaal nix (ook geen [undefined] ofzo). Ik heb ook al style.posLeft en style.pixelLeft geprobeerd, maar die leveren ook geen resultaat op.

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 12-09 23:01
Het enige dat ik weet is dat GetElementById NS6 only is

  • metaal
  • Registratie: Juli 2001
  • Laatst online: 31-01-2025
Op vrijdag 15 februari 2002 16:00 schreef Shagura het volgende:
Het enige dat ik weet is dat GetElementById NS6 only is
:?

Ow, kan ook een ander getElementByNogIets zijn, de code ligt thuis en ik zit nu op school. Dat getElementByBla gaat in ieder geval goed, dat heb ik getest

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 12-09 23:01
Ik heb totaal geen verstand van Javascript (ik weet het, het is |:() Maar ik weet bijna zeker dat GetElementById echt NS6 only is....

  • metaal
  • Registratie: Juli 2001
  • Laatst online: 31-01-2025
Op vrijdag 15 februari 2002 16:06 schreef Shagura het volgende:
Ik heb totaal geen verstand van Javascript (ik weet het, het is |:() Maar ik weet bijna zeker dat GetElementById echt NS6 only is....
Jajoh, rustig. Ik zeg toch net dat ik me vergist kan hebben. Sorry hoor

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

getElementById is IE5+ en NS6+

Het document.all model is 'deprecated'.. niet officieel natuurlijk.. ;)

style.left zou gewoon moeten werken.. geef je code eens.

  • metaal
  • Registratie: Juli 2001
  • Laatst online: 31-01-2025
Maareh, tussen twee haakjes, weet iemand hoe het zit met de positie opvragen van elementen in IE???

Ik heb me trouwens vergist, het gaat op style.top, maar dat leverde het zelfde probleem op:
code:
1
2
3
4
5
6
7
8
<div>Veel geblaat</div>
<div id="mijndiv">Hallo</div>
<div>Onderkant</div>


<script language.....>
  alert(document.getElementById('mijndiv').style.top);
</script>

Zoiets is het ongeveer.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op vrijdag 15 februari 2002 16:12 schreef metaal het volgende:
Maareh, tussen twee haakjes, weet iemand hoe het zit met de positie opvragen van elementen in IE???
Afbeeldingslocatie: http://www.nvlf.nl/shout.gifCLAAAY!!!!

:P

Stop uploading passwords to Github!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

code:
1
document.getElementById('naam_van_div').offsetTop;

Intentionally left blank


Verwijderd

style.left heeft een bug in Msie net als style.top. Dit komt voor zodra er gebruik wordt gemaak van een CSS class in het element ipv hard gecodeerd. Dit werkt dus wel om style.top op te vragen:

<div id="blaat" style="position:absolute;top:10px;left:10px;"></div>


En dit werkt niet:

<style type="text/css">
.divje{position:absolute;top:10px;left:10px;}
</style>

<div id="blaat" class="divje"><div>


Dit betekent oa in scripts waarbij layers worden verplaats van positie dat je in de javascript de posities moet bufferen ipv de posities opvragen :) ..

Ja ik weet het, het is klote. ;)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

Een style property van een element die niet "gezet" is geeft sowieso niets terug. Bovengenoemde offsetTop geeft echter gewoon de toppositie van de div tov de pagina aan hoor.

Intentionally left blank


Verwijderd

Afbeeldingslocatie: http://www.webreference.com/dhtml/column20/dhtmlpos.gif
top:
IE4 : document.all.hiernaam.style.pixelTop
IE5+: document.GetElementByID['hiernaam'].style.top
NS4+: document.layers['hiernaam'].clip.top
left:
IE4 : document.all.hiernaam.style.pixelLeft
IE5+: document.GetElementByID['hiernaam'].style.left
NS4+: document.layers['hiernaam'].clip.left
rigth:
IE4 : document.all.hiernaam.style.pixelWidth
IE5+: document.GetElementByID['hiernaam'].style.width
NS4+: document.layers['hiernaam'].clip.width
bottom:
IE4 : document.all.hiernaam.style.pixelHeight
IE5+: document.GetElementByID['hiernaam'].style.height
NS4+: document.layers['hiernaam'].clip.height

zoiets geloof ik

  • metaal
  • Registratie: Juli 2001
  • Laatst online: 31-01-2025
Hey mensen, bedankt! Het werrukt :) Ik kan weer lekker verder met mijn menuutje.


PS: getElementById() werkt zelfs in IE 4
Pagina: 1