限制拖拽弹窗Y轴范围
This commit is contained in:
parent
5af0362c0e
commit
db277254f9
@ -89,6 +89,7 @@ const offset = reactive({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const start = { x: 0, y: 0 };
|
const start = { x: 0, y: 0 };
|
||||||
|
const startOffset = { x: 0, y: 0 };
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
window.addEventListener('mousedown', onMouseDown);
|
window.addEventListener('mousedown', onMouseDown);
|
||||||
@ -99,16 +100,24 @@ onUnmounted(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function onMove(e: MouseEvent) {
|
function onMove(e: MouseEvent) {
|
||||||
[offset.x, offset.y] = [e.screenX - start.x, e.screenY - start.y];
|
let y = e.clientY > startOffset.y ? e.clientY : startOffset.y;
|
||||||
|
if (y > window.innerHeight - props.titleHeight + startOffset.y) {
|
||||||
|
y = window.innerHeight - props.titleHeight + startOffset.y;
|
||||||
|
}
|
||||||
|
[offset.x, offset.y] = [e.clientX - start.x, y - start.y];
|
||||||
}
|
}
|
||||||
function onMouseUp() {
|
function onMouseUp() {
|
||||||
window.removeEventListener('mousemove', onMove);
|
window.removeEventListener('mousemove', onMove);
|
||||||
window.removeEventListener('mouseup', onMouseUp);
|
window.removeEventListener('mouseup', onMouseUp);
|
||||||
|
startOffset.x = 0;
|
||||||
|
startOffset.y = 0;
|
||||||
}
|
}
|
||||||
function onMouseDown(e: MouseEvent) {
|
function onMouseDown(e: MouseEvent) {
|
||||||
if (headerRef.value?.$el !== e.target) return;
|
if (headerRef.value?.$el !== e.target) return;
|
||||||
start.x = e.screenX - offset.x;
|
startOffset.x = e.offsetX;
|
||||||
start.y = e.screenY - offset.y;
|
startOffset.y = e.offsetY;
|
||||||
|
start.x = e.clientX - offset.x;
|
||||||
|
start.y = e.clientY - offset.y;
|
||||||
window.addEventListener('mousemove', onMove);
|
window.addEventListener('mousemove', onMove);
|
||||||
window.addEventListener('mouseup', onMouseUp);
|
window.addEventListener('mouseup', onMouseUp);
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 509c8f3f91257e1c489c2bb2435fa66f0fc29cab
|
Subproject commit c20feed4b6ae3bdd02cb21b4cc5af03c55be869b
|
Loading…
Reference in New Issue
Block a user