Jquery实现拖动

/**
 * div拖动
 * @param Jdoc 需要拖动的div的jquery对象
 * @param e 触发事件
 */
function move(Jdoc, e){
    e = e || window.event;
    var o = Jdoc;
    //需要拖动的div的初始offsetTop和offsetLeft
    var st = o.offset().top;
    var sl = o.offset().left;
    //需要拖动的div的宽度和高度
    var ow = o.outerWidth();
    var oh = o.outerHeight();
    //浏览器的宽度和高度
    var w = $(window).width();
    var h = $(window).height();
    //sx,sy  触发拖动事件时鼠标的坐标
    var sx = e.pageX;
    var sy = e.pageY;
    onmousemove = function (e) {
        //ex,ey  拖动鼠标时鼠标的坐标
        var ex = e.pageX;
        var ey = e.pageY;
        var et = st + (ey - sy);
        var el = sl + (ex - sx);
        et = et <= 0 ? 0 : et;
        et = et >= (h - oh) ? (h - oh) : et;
        el = el <= 0 ? 0 : el;
        el = el >= (w - ow) ? (w - ow) : el;
        o.offset({top:et,left:el});
    }
    onmouseup = function () {
        onmousemove = null;
    }
}

$("#mod_div").live({
        mousedown: function (e) {
            var modWin = $("#modWindow");
            move(modWin, e);
        }
    });


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值