//鼠标按下
movePopup(ev) {
// 获取鼠标当前坐标
let preX = ev.clientX;
let preY = ev.clientY;
// 获取浏览器最大x和y坐标
let container = document.getElementById('mPopup'); // 获取需要移动的元素
// 获取最大可移动的xy轴距离
let maxX = window.innerWidth - container.offsetWidth;// 浏览器宽度-要移动的元素的宽度
let maxY = window.innerHeight - container.offsetHeight;
if (!document.onmousemove) {
//鼠标移动
document.onmousemove = function (eve) {
let suffix = 'px';
// 获取需要移动的元素的坐标并转化为数字
let containerLeft = Number.parseInt(container.offsetLeft, 10);
let containerTop = Number.parseInt(container.offsetTop, 10);
// 计算需要移动的距离
let currentX = (containerLeft + (eve.clientX - preX));
let currentY = (containerTop + (eve.clientY - preY));
// 判断是否超出浏览器
if (currentX < 0) {
currentX = 0;
} else if (currentX > maxX) {
currentX = maxX;
}
if (currentY < 0) {
currentY = 0;
} else if (currentY > maxY) {
currentY = maxY;
}
container.style.left = currentX + suffix; // 设置block的X坐标
container.style.top = currentY + suffix; // 设置block的Y坐标
// 记录上一次鼠标位置
preX = eve.clientX;
preY = eve.clientY;
};
}
},
//鼠标抬起,这个事件加到最外层div上
popupMouseup() {
document.onmousemove = null;
},
09-08