fonction redimensionnement div
Bonjour,
J'ai fait une fonction permettant le redimensionnnement d'un div. Ca marche, sauf dans le cas où on fait descendre le scroll vertical...
En fait, la position de ma souris se décale de la distance de laquelle on est descendus avec le scroll...
Comment y remédier?
Voici mon code:
Code:
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 26 27 28 29 30 31 32
|
var xinit; // position de la souris au clic sur le div
var yinit;
var x; // position de l'élément au départ
var y;
var initier = false; // si on est en train de cliquer
var idEnCours; // id du div qui est en cours de modif
function init(e, id){
idEnCours = id;
initier = true;
xtmp = document.getElementById(id).offsetLeft;
ytmp = document.getElementById(id).offsetTop;
x = document.getElementById(id).offsetLeft;
y = document.getElementById(id).offsetTop;
xinit = e.clientX;
yinit = e.clientY;
}
function bouge(e){
// si on a cliqué et qu'on bouge
if(initier){
xtmp = document.getElementById(idEnCours).offsetLeft;
ytmp = document.getElementById(idEnCours).offsetTop;
document.getElementById(idEnCours).style.width = document.getElementById(idEnCours).offsetWidth + (e.clientX - x - document.getElementById(idEnCours).offsetWidth+10)+ "px";
document.getElementById(idEnCours).style.height = document.getElementById(idEnCours).offsetHeight + (e.clientY - y - document.getElementById(idEnCours).offsetHeight+12)+ "px";
}
}
function fin(e){
initier = false;
} |
Et l'appel de ces fonctions:
Code:
1 2 3 4 5 6
|
<body onmousemove="bouge(event);" onmouseup="fin(event);">
<div id=boxHandle style="LEFT: 505px; WIDTH: 275px; TOP: 405px; HEIGHT: 214px">
<DIV class=carre_resize onmousedown="init(event,'boxHandle');" id=carre_resize></DIV>
</div>
</body> |
Le div carre_resize sert de poignée pour la redimension...
Une idée?