Position des Scrollbar

Eléphant du PHP | 59 Messages

17 mars 2006, 02:00

Bonjour à tous,

J'ai fait plusieurs recherches pour récupérer la position des scrollbars d'une frame mais je n'ai pu trouver que pour le scrollbar vertical:

Code : Tout sélectionner

var posScroll = mon_iframe.document.body.scrollTop;
Mais comment faire pour la valeur horizontale?

Deuxieme question peut-etre bete mais comment fait on pour utiliser ces variables dans mon code html?

Merci d'avance :wink:

xou
Eléphanteau du PHP | 14 Messages

17 mars 2006, 13:30

Ce n'est pas du html.

Il te faut un minimum de bases en javascript pour l'utiliser:
http://fr.selfhtml.org/javascript/index.htm

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 mars 2006, 01:32

Pas sur que tous les navigateurs aiment mais regarde scrollLeft :o

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 59 Messages

22 mars 2006, 01:38

J'ai testé IE et Firefox, ça passe, c'était bien ça merci.

Maintenant mon autre probleme, j'ai un div qui contient une image et j'aimerais avoir un autre div qui se balade sur cette image en fonction des valeur que vont me retourner scrollTop et scrollLeft.

Code : Tout sélectionner

var mon_iframe = window.frames["titi"]; // recupere valeur scrollbar var posScrollH = mon_iframe.document.body.scrollTop; var posScrollV = mon_iframe.document.body.scrollLeft; //Recupere position du div contenant l'image et ajout des valeurs du scrollbar var newX1 = parseInt(document.getElementById("origine").style.left)+posScrollH; var newY1 = parseInt(document.getElementById("origine").style.top)+posScrollV; //affectation au 2e div document.getElementById("cadre").style.left=newX1+"px"; document.getElementById("cadre").style.top=newY1+"px";

Appel des div en html:

Code : Tout sélectionner

<style> #cadre { color: #ff0000; border-top: 1px solid; border-left: 1px solid; border-right: 1px solid; border-bottom: 1px solid; position: absolute; } </style> <div id='cadre'></div><div id='origine'><img src='toto'></div>

J'ai le message suivant dans le JavaScript console:

Erreur d'analyse de la valeur pour la propriété "left". Declaration abandonnée.
Erreur d'analyse de la valeur pour la propriété "top". Declaration abandonnée.

La je ne vois plus

Invité
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 16:15

En fait quand je calcul newX1 et newY1, j'ai oublié la majuscule à Left et Top d'ou le message je suppose. Par contre quand j'affiche ces valeurs, j'ai un NaN...
Quelq'un voit pourquoi?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 mars 2006, 19:32

affiche les valeurs une par une :

. document.getElementById("origine").style.left
. posScrollH
. document.getElementById("origine").style.top
. posScrollV

et regarde si elles sont initialisées.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 59 Messages

24 mars 2006, 10:52

Alors dans l'ordre: vide, 0, vide, 0...

Si je mets une majuscule à left et top, j'ai 'undefined' à la place de rien du tout!!!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 mars 2006, 17:37

essaie en mettant un style LEFT par défaut sur le div.
<div id='origine' style='left : 100px'>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 59 Messages

27 mars 2006, 10:04

il me retourne 100px, le probleme est que la position du div est aleatoire, ça depend de la resolution, du navigateur...
C'et pour cela que je voulais recuperer les coordonnées. :cry: