Javascript et DIV

nono -  
 roro -
je desire acceder au contenu du style d'un div.
expl
<div id="x" style="top:100px">
<<contenu>>
</div>
je voudrais ici par expl changer la valeur du top.
=> document.all.x.style.top='#';
mais si je veux creer une fonction qui me premettrais de faire ca pour plusieurs div??
Le document.getelementById() ne marche pas car c'est un document.all.... que j'ai besoin.
Donc comment puis-je , en passant simplement l'id du div , en changer son style?
Merci.
No

1 réponse

PhP Messages postés 1774 Statut Membre 606
 
HI Nono,

Effectivement document.getelementById() ne fonctionne pas car la bonne syntaxe est document.getElementById()
Nuance subtile certe mais ce sont les joies du case sensitive ... ;:-)

Ensuite avec IE 5 ou + et dans une certaine mesure NS 6 cette fonction marche très bien.

1 ) Donner un id au tag <div> (peut être autre chose que la simple lettre 'x' j'ai eu des truc bizarres avec certains noms ...)

<div id="mon_tag" style="top:100px">
...
</div>

2) Fonctions à utiliser :

D'habitude j'utilise des classes d'objet mais voici la syntaxe en code JavaScript classique :

function getX(id)
{
return window.document.getElementById(id).offsetLeft
}

// La valeur retournée peut être ignorée ;:-)
function setX(id,x)
{
return window.document.getElementById(id).style.left=x+"px";
}

function getY(id)
{
return window.document.getElementById(id).offsetTop
}

// La valeur retournée peut être ignorée ;:-)
function setY(id,y)
{
return window.document.getElementById(id).style.top=y+"px"
}

function getHeight(id)
{
return window.document.getElementById(id).offsetHeight
}

function getWidth(id)
{
return window.document.getElementById(id).offsetWidth
}

Si les propriétés offset... ne retournent pas les valeurs attendues je crois que tu peux utiliser directement les valeurs du style.
Dans ce cas à toi d'extraire la valeur de l'unité ...

Ex :
function getX(id,x)
{
return window.document.getElementById(id).style.left;
}

A toi de jouer ...

@+
Philippe

[[  The Truth is Out There   ]]
16
zorro07
 
Merci pour cette excellente explication Philippe
0
roro
 
Explication parfaite,
Merci Philippe !!
0