Bonjour
Dasn une page web j'ai 2 <hr> et j'aimerais calculer le nombre de pixel qui les sépare.
La page se crée a partir de du XSL donc le tout est dynamique et l'expace n'est pas toujorus le meme.
Merci
Bonjour
Dasn une page web j'ai 2 <hr> et j'aimerais calculer le nombre de pixel qui les sépare.
La page se crée a partir de du XSL donc le tout est dynamique et l'expace n'est pas toujorus le meme.
Merci
offsetTop te donne l'espacement par rapport au container précédent. En jouant la-dessus, tu arriveras à determiner la distance (ça va pas être cotton).
???
il est ou le piège Denis ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <script type='text/javascript'> function distance(){ var pas=document.getElementsByTagName('hr')[1].offsetTop-document.getElementsByTagName('hr')[0].offsetTop+'px' alert(pas) } </script> </head> <body onload='distance()'> <hr> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/><br/> <br/><br/> <hr> </body> </html>
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
si tu calcul la distance sur le body onload la page n'est pas enre loadé alors c'Est impossible de connaitre quel sera la position final du dernier HR
pas vrai?
heu non pas vrai justement le onload est fait pour ça ...
maintenant si tu as des images qui prennent du temps à charger, il suffit de rajouter un teste de "complete" sur les images ...
tu peux aussi essayer de mettre l'appel de la focntion en dernière ligne de la page, mais je ne pense pas que ça change grand chose ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Le piège (que je pressens) est que ça marche tout seul dans ton cas car les deux HR ont le même container parent. Si ce n'est pas le cas, il y aura de la recursion à faire.Envoyé par SpaceFrog
Example, avec:
Je ne suis pas certain que ton code marche (mais j'ai pas le temps de tester pour le moment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <body> <div> <hr /> <br /> <div> <br /> <hr /> </div> </body>)
c'est ce que j'avais senti dans ton intervention et j'ai testé... mais le offsetTop retourne le top depuis le haut de page et ps depuis le parent donc ça focntionne ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Le offsetTop retourne la distance depuis le container parent (mais le container d'offset, pas le container HTML).Envoyé par SpaceFrog
Apparement, (d'après MSDN):
Donc ça marche avec IE6, mais il y aura des problèmes avec IE 5 et 4 dans certain cas....Most of the time the offsetParent property returns the body object.
Note : In Microsoft Internet Explorer 5, the offsetParent property returns the table object for the td object; in Internet Explorer 4.0 it returns the tr object. You can use the parentElement property to retrieve the immediate container of the table cell.
Sous Mozilla:
Donc, en conclusion, ton code marche dans 90% des cas, mais il pourrait ne pas marcheroffsetParent returns a reference to the object which is the closest (nearest in the containment hierarchy) positioned containing element. If the element is non-positioned, the root element (html in standards compliant mode; body in quirks rendering mode) is the offsetParent.![]()
Merci a vous 2..
plsu j'avance.. plus je me rend compte que tout le monde gagnerait a se standardiser aux normes de w3c!
Partager