jq div拖拽

<style>
.move_box {
    width: 450px;
    height: 280px;
    position: relative;
    border: 1px solid #eee;
}
.move_block {
    /*width: 30px;*/
    /*height: 30px;*/
    /*background-color: aqua;*/
    position: absolute;
    top: 0;
    left: 0;
}

.active {
    border: 2px solid rgb(255, 0, 0);
}
<div id="move_box" class="move_box">
    @*<div class="move_block"></div>*@
    @*<select class="move_block select_data">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>*@
</div>
<scroipt>
$('.move_block').mousedown(function (e) {
        var self = this;
        $(self).css({ 'cursor': 'all - scroll' });
        // e.pageX
        var positionDiv = $(this).offset();
        var distenceX = e.pageX - positionDiv.left; // 记录鼠标点击的位置与div左上角水平方向的距离
        var distenceY = e.pageY - positionDiv.top; // 记录鼠标点击的位置与div左上角竖直方向的距离

        $(document).mousemove(function (e) {
            var x = e.pageX - distenceX - 20; // 减20,60,是为了鼠标能对准div块,当box没有在body的左上角就需要相减
            var y = e.pageY - distenceY - 65;
            if (x < 0) {
                x = 0;
            } else if (x > $('.move_box').width() - $('.move_block').outerWidth(true)) {
                //} else if (x > $(document).width() - $('#block').outerWidth(true)) {
                //x = $(document).width() - $('#block').outerWidth(true);
                x = $('.move_box').width() - $('.move_block').outerWidth(true)
            }

            if (y < 0) {
                y = 0;
            } else if (y > $('.move_box').height() - $('.move_block').outerHeight(true)) {
                //} else if (y > $(document).height() - $('#block').outerHeight(true)) {
                //y = $(document).height() - $('#block').outerHeight(true);
                y = $('.move_box').height() - $('.move_block').outerHeight(true);
            }

            $(self).css({
                'left': x + 'px',
                'top': y + 'px'
            });
        });

        $(document).mouseup(function () {
            $(document).off('mousemove');
        });
    });
    </scroipt>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值