对google个性主页的拖拽效果的js的完整注释[转]

2019-06-02 23:22:44丽君

     this .elm.style.left  =  offLeft  +   " px " ;
     this .elm.style.top  =  offTop  +   " px " ;
     // 坐标设定完毕,可以显示了,这样就不会闪烁了 
    Util.show();
     // 这里本来有个ig_d.G,没搞明白干什么用的,不过没有也可以用,谁知道麻烦告诉我一声,不好意思 
     // 还没有开始拖拽,这里做个记号 
     this .isDragging  =   false ;
     return   false ;
};
// 在拖拽时的相应函数,由于绑定到鼠标的move这个event上,所以会传入鼠标的坐标clientX, clientY 
function  when_Drag(clientX, clientY) {
     // 刚开始拖拽的时候将图层变透明,并标记为正在被拖拽 
     if  ( ! this .isDragging) {
         this .elm.style.filter  =   " alpha(opacity=70) " ;
         this .elm.style.opacity  =   0.7 ;
         this .isDragging  =   true ;
    }
     // 被拖拽到的新的column(当然也可以是原来那个) 
     var  found  =   null ;
     // 最大的距离,可能是防止溢出或者什么bug 
     var  max_distance  =   100000000 ;
     // 遍历所有的可拖拽的element,寻找离当前鼠标坐标最近的那个可拖拽元素,以便后面插入 
     for  ( var  i  =   0 ; i  <  Util.dragArray.length; i ++ ) {
         var  ele  =  Util.dragArray[i];
         // 利用勾股定理计算鼠标到遍历到的这个元素的距离 
         var  distance  =  Math.sqrt(Math.pow(clientX  -  ele.elm.pagePosLeft,  2 )  +  Math.pow(clientY  -  ele.elm.pagePosTop,  2 ));