JS拖拽的几个必须组成部分

来源:互联网 发布:ubuntu sudo密码忘记 编辑:程序博客网 时间:2024/05/09 17:13
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}

function getPosition(e){      
    var left = 0;
    var top  = 0;
    while (e.offsetParent){
        left += e.offsetLeft;
        top  += e.offsetTop;
        e     = e.offsetParent;
    }

    left += e.offsetLeft;
    top  += e.offsetTop;

    return {x:left, y:top};

}

function mouseCoords(ev){       
    if(ev.pageX || ev.pageY){
        return {x:ev.pageX, y:ev.pageY};
    }
    return {
        x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
        y:ev.clientY + document.body.scrollTop  - document.body.clientTop
    };
}

function getMouseOffset(target, ev){
    ev = ev || window.event;

    var elementPos    = getPosition(target);
    var mousePos  = mouseCoords(ev);
    return {x:mousePos.x - elementPos.x, y:mousePos.y - elementPos.y};
}

 
原创粉丝点击