弹出层拖拽js方法

来源:互联网 发布:mac死机无法强制退出 编辑:程序博客网 时间:2024/04/29 11:43

// 拖动方法(parentDomID整个需要移动的框架的ID,focusDomID可拖动的部分的ID,i为X轴偏移的距离,j为Y轴偏移的距离)
function DomDrag(parentDomID, focusDomID, i, j) {
    var posX;
    var posY;
    var parentDom = document.getElementById(parentDomID);
    document.getElementById(focusDomID).onmousedown = function (e) {
        if (!e) e = window.event; //如果是IE
        posX = e.clientX - parseInt($(parentDom).offset().left) - i;
        posY = e.clientY - parseInt($(parentDom).offset().top) - j;
        document.onmousemove = mousemove;
    }
    document.onmouseup = function () {
        document.onmousemove = null;
    }
    function mousemove(ev) {
        if (ev == null)
            ev = window.event;
        parentDom.style.left = (ev.clientX - posX) + "px";
        parentDom.style.top = (ev.clientY - posY) + "px";
    }
}

 

注:

这里的i和j,所谓的偏移距离的解释我举个简单的例子来说明:

比如我一个弹出层的样式做了margin-left:100px;的设置,那么这里i的值就是100;

如果对弹出层设置了margin-top:100px;那么这里j的值就是100了。