grazie per il suggerimento, purtroppo però se si trascina il div troppo velocemente, da ugualmente quella fastidiosa sensazione;
ho messo una toppa legando la fine del trascinamento ad un secondo onmousedown del div anzichè all'onmouseup:
1° click sul div= il div è reso trascinabile
2° click sul div= il div viene ancorato
Codice PHP:
<script language="JavaScript" type="text/javascript">
var dragging=0,xdiff=0,ydiff=0;
var maniglia=document.getElementById('messaggio');
function dragger(e){
maniglia=document.getElementById('messaggio');
if (dragging<1){
if (!e) e = window.event;
xdiff=e.clientX-parseInt(maniglia.style.left);
ydiff=e.clientY-parseInt(maniglia.style.top);
document.onmousemove=placer;
dragging=1;
maniglia.style.cursor="move";
} else {
document.onmousemove=null;
dragging=0;
maniglia.style.cursor="default";
}
}
function placer(e){
if (!e) e = window.event;
maniglia.style.left = (e.clientX-xdiff) +'px';
maniglia.style.top = (e.clientY-ydiff) +'px';
}
</script>
ovviamente con il div che fa da maniglia si chiama messaggio