我的屏幕上有一个引导模式。当模态框显示时,它位于屏幕中央。
<div class="modal fade" id="ua_dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<div class="modal-body">
....
</div>
</div>
我需要在屏幕上移动模态,因为覆盖了屏幕上的一些信息。用户应该能够向右、向左移动……等等。我可以这样做吗?有一些我可以使用的设置吗?或者用js?什么是最好的方法?谢谢!
我想你需要这个:)
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<div>
<div class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>
<script>
$('.modal').modal({ keyboard: false,
show: true
});
// Jquery draggable
$('.modal-dialog').draggable({
handle: ".modal-header"
});
</script>
.modal-content{
margin-top:50px !important;
}
Espero les ayude este código,trate de integrar a mi proyectodraggable,pero no pude,ya que mi jqueryera incompatible,así quebuscando pude encontrar la solución con el manejo de eventos,y este es el resultado:
/*------------------------------------------------------------- Llamada al evento*/
draggable(document.querySelector('#mimodal'), '.modal-head')
/*------------------------------------------------------------- Mover modal*/
function mover_mouse({ movementX, movementY }) {
let getContainerStyle = window.getComputedStyle(mover_modal)
let leftValue = parseInt(getContainerStyle.left)
let topValue = parseInt(getContainerStyle.top)`enter code here`
mover_modal.style.left = `${leftValue + movementX}px`
mover_modal.style.top = `${topValue + movementY}px`
}
const draggable = (id, handle) => {
mover_modal = id
window.jQuery(handle).on('mousedown', () => { mover_modal.addEventListener('mousemove', mover_mouse) })
window.jQuery(handle).on('mouseup contextmenu', () => { mover_modal.removeEventListener('mousemove', mover_mouse) })
}