Salut
Je cherche le moyen de faire comme sur le site http://www.netvibes.com/
Comment faire pour déplacer des div ET qu'elles inter-agissent en live lors du déplacement avec celles qui sont sur la page?
Sur le site cité, lorsque vous déplacer une div, les autres bougent pour lui laisser la place de se mettre....
Vous savez où je peux trouver ce code?
voila ce que j'ai fait pour le moment, mais ça ne marche pas terrible. en plus j'ai un décalage...
Edit: modification du code: je n'ai plus de décalage, par contre les div n'inter-agissent toujours pas entre eux...
Modifié par jeromax (20 Feb 2006 - 10:53)
Je cherche le moyen de faire comme sur le site http://www.netvibes.com/
Comment faire pour déplacer des div ET qu'elles inter-agissent en live lors du déplacement avec celles qui sont sur la page?
Sur le site cité, lorsque vous déplacer une div, les autres bougent pour lui laisser la place de se mettre....
Vous savez où je peux trouver ce code?
voila ce que j'ai fait pour le moment, mais ça ne marche pas terrible. en plus j'ai un décalage...

<head>
<style>
.clsDiv{
position:relative;
float:left;
width:100px;height:200px;
background-color:#bfbfbf;
margin:20px;
border: 1px #000000 solid;
}
</style>
</head>
<script type="text/javascript">
var clicEnCours = false;
var position_x = 0;
var position_y = 0;
var origineDiv_x = 0;
var iExplorer = false;
var deplacable = "";
if (document.all){
iExplorer = true;
}
function boutonPresse(pDiv){
chaineX = document.getElementById(pDiv).style.left;
chaineY = document.getElementById(pDiv).style.top;
origineDiv_x = x - chaineX.substr(0,chaineX.length-2);
origineDiv_y = y - chaineY.substr(0,chaineY.length-2);
document.getElementById(pDiv).innerHTML = document.getElementById(pDiv).style.left + '>' + origineDiv_y;
clicEnCours = true;
deplacable = pDiv;
document.getElementById(deplacable).style.cursor = 'move';
document.getElementById(deplacable).style.zIndex = 100;
document.getElementById(deplacable).style.border = '1px #000000 dotted';
}
function boutonRelache(pDiv){
clicEnCours = false;
document.getElementById(deplacable).style.cursor = 'default';
document.getElementById(deplacable).style.zIndex = 1;
document.getElementById(deplacable).style.border = '1px #000000 solid';
deplacable = "";
}
function deplacementSouris(e){
x = (iExplorer) ? event.x + document.body.scrollLeft : e.pageX;
y = (iExplorer) ? event.y + document.body.scrollTop : e.pageY;
document.title = x + '>' + y;
if (clicEnCours && document.getElementById){
position_x = x - origineDiv_x;
position_y = y - origineDiv_y;
document.getElementById(deplacable).style.left = position_x;
document.getElementById(deplacable).style.top = position_y;
}
}
if(!iExplorer){
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = deplacementSouris;
</script>
<body>
<div class="clsDiv" id="div1" onmousedown="boutonPresse('div1');" onmouseup="boutonRelache('div1');">
</div>
<div class="clsDiv" id="div2" onmousedown="boutonPresse('div2');" onmouseup="boutonRelache('div2');">
</div>
<div class="clsDiv" id="div3" onmousedown="boutonPresse('div3');" onmouseup="boutonRelache('div3');">
</div>
</body>
Edit: modification du code: je n'ai plus de décalage, par contre les div n'inter-agissent toujours pas entre eux...
Modifié par jeromax (20 Feb 2006 - 10:53)