<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>