h5-鼠标拖拽方块-封装后

(function (w) {

    w.$ = {};

    $.drag = function drag(t, flag, value, imgt) {

        var limit = true;

        var adsorption = 0;

        var startPoint = { x: 0, y: 0 };

        var mouseDownPoint = { x: 0, y: 0 };

        t.onmousedown = function (ev) {

            ev = ev || event;

            startPoint.x = this.offsetLeft;

            startPoint.y = this.offsetTop;

            mouseDownPoint.x = ev.clientX;

            mouseDownPoint.y = ev.clientY;

            if (this.setCapture) {

                this.setCapture();

            }

            document.onmousemove = function (ev) {

                ev = ev || event;

                var mouseMovePoint = { x: 0, y: 0 };

                mouseMovePoint.x = ev.clientX;

                mouseMovePoint.y = ev.clientY;

                var dis = { x: 0, y: 0 };

                dis.x = mouseMovePoint.x - mouseDownPoint.x;

                dis.y = mouseMovePoint.y - mouseDownPoint.y;

                var L = startPoint.x + dis.x;

                var T = startPoint.y + dis.y;

                limit = flag === false ? false : true;

                if (limit) {

                    if (value) {

                        dsorption = value

                    }

                    if (L < adsorption) {

                        L = 0;

                    } else if (L > (document.documentElement.clientWidth - t.offsetWidth - adsorption)) {

                        L = (document.documentElement.clientWidth - t.offsetWidth)

                    }

                    if (T < adsorption) {

                        T = 0;

                    } else if (T > (document.documentElement.clientHeight - t.offsetHeight - adsorption)) {

                        T = (document.documentElement.clientHeight - t.offsetHeight)

                    }

                }


 

                t.style.left = L + "px";

                t.style.top = T + "px";

                if (imgt) {

                    var T1 = t.offsetTop;

                    var B1 = t.offsetTop + t.offsetHeight;

                    var R1 = t.offsetLeft + t.offsetWidth;

                    var L1 = t.offsetLeft;

                    var T2 = imgt.offsetTop;

                    var B2 = imgt.offsetTop + imgt.offsetHeight;

                    var R2 = imgt.offsetLeft + imgt.offsetWidth;

                    var L2 = imgt.offsetLeft;

                    if (R1 < L2 || B1 < T2 || T1 > B2 || L1 > R2) {

                        imgt.src = '/射线2.jpg'

                    } else {

                        imgt.src = '/劳动人物.jpg'

                    }

                }

            }

            document.onmouseup = function () {

                document.onmousemove = document.onmouseup = null;

                if (document.releaseCapture) {

                    document.releaseCapture();

                }

            }

            return false;

        }

    }

})(window)


 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值