Avatar billede freakofnature Nybegynder
15. september 2002 - 11:35 Der er 15 kommentarer og
1 løsning

offsetLeft

Hej,

Jeg har lavet et lille script til at finde offsetLeft'en på en tabel, som er centeret på siden, men den siger hele tiden nul.

Kan I se hvad problemet er?

<html>
<head>
<title>Menu</title>
<style type="text/css">
<!--


//--!>
</style>
<script language="javascript">

function show(){
var elm = document.getElementById('ramme');

    posX = elm.offsetParent;
    alert(posX.offsetLeft);

}
</script>

</head>
<body leftmargin="0" topmargin="0">
<center id="center">
<div id="ramme"><table  height="100" style="border:1px solid black;" id="ramme2">
<tr><td align="center">

    <table style="border:1px solid black;" id="main">
    <tr><td>

    <font onmouseover="show()">Menu</font>

    </tr></td>
    </table>

</tr></td>
<tr><td align="center">

    <table style="border:1px solid black;" id="main2">
    <tr><td>

    Menu2

    </tr></td>
    </table>

</tr></td>
</table>



<div id="menu" style="position:absolute; top:0; left:0; visibility:visible;">
<table style="border:1px solid black;" id="table">

    <tr><td style="border-bottom-style:solid; border-bottom-width:1px;     border-bottom-color:black;">

    Link

    </tr></td>

    <tr><td>

    Link 2

    </tr></td>

</table>
</div>
</body>
</html>
Avatar billede Slettet bruger
15. september 2002 - 12:24 #1
Brug scriptet her:
http://www.xs4all.nl/~ppk/js/findpos.html
Det er ufejlbarligt (i hvert fald i alle de tilfælde, jeg har brugt det).
Avatar billede pelkjaer Nybegynder
15. september 2002 - 12:25 #2
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function show()
{
alert(document.all.myTable.offsetLeft);
}
//-->
</script>
</head>
<body>
<table id="myTable" width="200px" align="center" border="1">
<tr>
<td><a href="java script:;" onclick="show()">Vis</a></td>
</tr>
</table>
</body>
</html>
Avatar billede lequet Nybegynder
15. september 2002 - 12:27 #3
Her er en funktion der virker lidt bedre...

function getXYcoord ( htmlElemObj ) {  // ikke til NS4, men ok i IE4+ og NS6+
    var elm = htmlElemObj;
    var rd = { x:0 ,y:0 };
    do { rd.x += parseInt( elm.offsetLeft );
        rd.y += parseInt( elm.offsetTop );
        elm = elm.offsetParent;
    } while ( elm );
    return rd
}; //end getXYcoord ( HTML element object ) -> object{x,y}

Sæt den ind, og lav din nuværende funktion om sådan her

unction show(){
var elm = document.getElementById('ramme');

    pos = getXYcoord(elm);
    alert(pos.x);

}
Avatar billede lequet Nybegynder
15. september 2002 - 12:28 #4
Ups... unction = function :)
Avatar billede freakofnature Nybegynder
15. september 2002 - 21:12 #5
det virker desværre ikke??

er der nogen der har andre ideer?
Avatar billede Slettet bruger
16. september 2002 - 15:41 #6
Avatar billede freakofnature Nybegynder
16. september 2002 - 16:51 #7
det virker jo godt. tak for det!

og pointene til dig!!!
Avatar billede Slettet bruger
16. september 2002 - 17:00 #8
P.S. Lad være med at bruge font-koden. Specielt ikke til det, du gør.
Avatar billede Slettet bruger
16. september 2002 - 17:00 #9
Altså <font>, lad være med at bruge den. Brug CSS istedet!
Avatar billede freakofnature Nybegynder
16. september 2002 - 17:09 #10
undskyld er det bare mig eller virker din kode heller ikke så godt, den siger jo bare 0 ved både X og Y
Avatar billede Slettet bruger
16. september 2002 - 17:11 #11
Nej, den gør da ej! :)
Hvilken browser bruger du?
Avatar billede freakofnature Nybegynder
16. september 2002 - 17:11 #12
internet eksplorer 6.0
Avatar billede freakofnature Nybegynder
16. september 2002 - 17:11 #13
men jeg har selv rettet det
Avatar billede freakofnature Nybegynder
16. september 2002 - 17:12 #14
den skulle måle ud fra 'ramme2' istedet for 'ramme'
Avatar billede Slettet bruger
16. september 2002 - 17:13 #15
Ja, så er det jo lidt svært for scriptet, hvis den ikke får den rigtige id.
Avatar billede freakofnature Nybegynder
16. september 2002 - 21:38 #16
jep, men nu virker det da!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester