js对话框鼠标拖曳效果
时间: 2023-06-30 14:09:21 浏览: 140
可以通过以下步骤实现JS对话框鼠标拖曳效果:
定义一个变量
dragging
,用于表示当前是否正在拖动对话框。监听对话框的mousedown事件,当鼠标按下时,设置
dragging
为true
,并记录下鼠标位置和对话框位置的差值。监听document的mousemove事件,当
dragging
为true
时,计算出鼠标的新位置,然后将对话框移动到新位置。监听document的mouseup事件,当鼠标释放时,设置
dragging
为false
。
下面是一个简单的示例代码:
<div id="dialog" style="position: absolute; left: 100px; top: 100px; width: 200px; height: 200px; background-color: #ccc;">
<div style="padding: 10px;">对话框内容</div>
</div>
<script>
var dragging = false;
var offsetX, offsetY;
document.getElementById('dialog').addEventListener('mousedown', function(e) {
dragging = true;
offsetX = e.clientX - this.offsetLeft;
offsetY = e.clientY - this.offsetTop;
});
document.addEventListener('mousemove', function(e) {
if (dragging) {
var left = e.clientX - offsetX;
var top = e.clientY - offsetY;
document.getElementById('dialog').style.left = left + 'px';
document.getElementById('dialog').style.top = top + 'px';
}
});
document.addEventListener('mouseup', function(e) {
dragging = false;
});
</script>
这样就可以实现对话框的鼠标拖曳效果了。
阅读全文
相关推荐

















