Posizione di un elemento sullo schermo

  • Creatore Discussione Creatore Discussione zandor
  • Data di inizio Data di inizio

zandor

Nuovo Utente
8 Feb 2008
1
0
0
Salve a tutti,
ho avuto bisogno di conoscere la posizione di un dato
elemento INPUT EDITA/RADIO/CHECKBOX sullo schermo al fine di
visualizzare dei DIV per lo scorrimento di risultati di ricerca.

Non trovando nessuna proprietà javascript che potesse essere
utile a riguardo, ho scritto la seguente funzione che calcola
la posizione sullo schermo attraverso un ciclo ricorsivo.

L'utilizzo é semplice:
* getOBJposition( id, "left" ) -> restituisce la coordinata X dell' elemento sullo schermo ...
* ... oppure getOBJposition( id, "top" ) -> restituisce la coordinata Y dell'elemento sullo schermo.

Questo codice sembra ben funzionare nei casi di test da me
effettuati, ma vorrei sottoporla ai lettori di questo forum
per eventuali correzioni e miglioramenti.

A presto
Alessandro Rosa
-----------------------------------------------------------------
function getOBJposition( id, dim )
{
var obj = document.getElementById( id );
var top = 0 ; var left = 0 ;

if ( obj != null || dim.length > 0 )
{
dim = dim.toLowerCase();

while( obj.tagName.length > 0 )
{
if ( obj.tagName.toUpperCase() == "BODY" ) break ;

if ( dim == "top" && obj.tagName != "TR" && obj.tagName != "TBODY" )
{
top += obj.offsetTop ;
top -= obj.clientTop ;
}
else if ( dim == "left" && obj.tagName != "TBODY" )
{
left += obj.offsetLeft ;
left -= obj.clientLeft ;
}

obj = obj.parentNode ;
}

if ( dim == "top" ) return top ;
else if ( dim == "left" ) return left ;
}
else
{
top = left = width = height = -1 ;
return false ;
}
}
 

Discussioni simili