Bootstrap模态框Modal添加鼠标拖动支持
让Bootstrap
模态框支持鼠标点击拖动
位置
Bootstrap
鼠标拖动
改变Modal
位置
并且能够锁定窗口区域,禁止拖动出窗口区域
HTML 全选
<div class="modal fade" id="modal_config_form" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog" style="width:600px;height:400px;">
<div class="modal-content" style="height:100%;">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">插件配置</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body gz-layout">
<div class="gz-layout-item" style="overflow:auto;">
<div id="configFormContain"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
<button class="btn btn-primary" id="btn_SaveConfig">确定</button>
</div>
</div>
</div>
</div>
JavaScript 全选
$(document).on("show.bs.modal", ".modal", function () {
$('.modal-dialog').draggable({
connectToSortable: ".modal.fade",
drag:function(event,ui){
// 最大横坐标
var _x_max=window.innerWidth-ui.helper.width()-parseInt(ui.helper.css("margin-left"))
// 最大纵坐标
var _y_max =window.innerHeight-ui.helper.height()-parseInt(ui.helper.css("margin-top"));
// 最小横坐标
var _x_min=parseInt(ui.helper.css("margin-left"))*-1
// 最小纵坐标
var _y_min = parseInt(ui.helper.css("margin-top"))*-1
if(ui.offset.left<_x_min){
ui.offset.left=_x_min;
ui.position.left=_x_min;
}
if(ui.offset.top<_y_min){
ui.offset.top=_y_min;
ui.position.top=_y_min;
}
if(ui.offset.top>_y_max){
ui.offset.top=_y_max;
ui.position.top=_y_max;
}
if(ui.offset.left>_x_max){
ui.offset.left=_x_max;
ui.position.left=_x_max;
}
}
});
$(this).css("overflow", "hidden");
// 不拖动透明背景
});
需要配合 Jquery-ui
Markup 全选
<script src="~/lib/jquery-ui-1.13.0/jquery-ui.min.js"></script>
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 管理员