pc端拖拽实现

 draget(event, val) {

        var tart = document.querySelector(".qiang")

        let x = event.clientX - event.target.offsetLeft

        let y = event.clientY - event.target.offsetTop

        let dom = this.state.qiut;

        window.onmousemove = (e) => {

            if (e.clientX - x <= 0) {

                return false

            }

            if (e.clientX - x + event.target.clientWidth >= tart.clientWidth) {

                return false

            }

            if (e.clientY - y <= 0) {

                return false

            }

            if (e.clientY - y + event.target.clientHeight >= tart.clientHeight) {

                return false

            }

            event.target.style.left = e.clientX - x + "px"

            event.target.style.top = e.clientY - y + "px"

            dom[val].left = (e.clientX - x) + "px"

            dom[val].bottom = (e.clientY - y) + "px"

        }

        window.onmouseup = (e) => {

            window.onmousemove = null;

            localStorage.setItem("divs", JSON.stringify(dom));

            this.setState({

                qiut: dom,

            })

            window.onmouseup = null;

        }

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值