JavascriptProva

mercoledì 25 gennaio 2012

La manuccia come puntatore per gli elementi dragabili

Un perfezionamento: se l'elemento è "dragabile" appare la "manuccia" al posto della freccetta come puntatore del mouse:
function DragDrop(){
 var nomi=new Array();
 var offsetX;
 var offsetY;
 var startX;
 var startY;
 var dragElement;
 for(n=0;n<arguments.length;n++)
  nomi[n]=arguments[n];
 
 var inizializza=function(){
  document.onmousedown=onMouseDown;
  document.onmouseup=onMouseUp; 
  document.onmouseover=onMouseOver;
 }
 var onMouseOver=function(e){
  for(n=0;n<nomi.length;n++)
   if(e.target.id==nomi[n]) e.target.style.cursor="pointer";
 }
 var onMouseDown=function(e){
  for(n=0;n<nomi.length;n++)
   if(e.target.id==nomi[n]){
    dragElement=e.target;
    offsetX=ExtractNumber(dragElement.style.left);
    offsetY=ExtractNumber(dragElement.style.top);
    startX=e.clientX;
    startY=e.clientY;
    for (n=0;n<document.getElementsByTagName('*').length;n++){
     document.getElementsByTagName('*')[n].style.zIndex=0;
    }
    dragElement.style.zIndex=1;
    document.onmousemove=onMouseMove;
   }
  return false;   
 }

 var onMouseMove=function(e){
  dragElement.style.left=offsetX+e.clientX-startX;
  dragElement.style.top=offsetY+e.clientY-startY;
 }

 var onMouseUp=function(){
  document.onmousemove=null;
  dragElement=null; 
 }
 inizializza();     

}

Nessun commento:

Posta un commento