Browse Source

合并错误修改

zhouna 6 năm trước cách đây
mục cha
commit
46babe5f7c
1 tập tin đã thay đổi với 64 bổ sung0 xóa
  1. 64 0
      src/utils/tools.js

+ 64 - 0
src/utils/tools.js

@@ -704,6 +704,70 @@ function timestampToTime(timestamp) {     //excel导入2019年5月1日会转换
   var s = date.getSeconds();
   return Y+M+D+h+m+s;
 }
+function getPageLength(event) {     //兼容ie8获取页面距离左和上的距离,包括滚动距离
+  let e = event || window.event;
+  let scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+  let scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+  let x = e.pageX || e.clientX + scrollX;
+  let y = e.pageY || e.clientY + scrollY;
+  let page = {
+    pageX:x,
+    pageY:y
+  }
+  return page;
+}
+function dragBox(domWrap,domDrag){
+  let wrap = document.getElementById(domWrap);//呗拖拽的元素
+  let drag = document.getElementById(domDrag);//拖拽区域
+  let width = window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;//屏幕宽度
+  let height = window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;//屏幕高度
+  let mouseX = 0,mouseY = 0,dragX = 0,dragY = 0,isDrag = false,isMove = false;
+  let maxDragX = width - wrap.offsetWidth;//最大可推拽x方向距离
+  let maxDragY = height - wrap.offsetHeight;//最大可拖拽y方向距离
+  windowEventHandler('mousedown',(event)=>{    //鼠标位置获取,计算点击位置到拖拽元素左边的距离
+    wrap = document.getElementById(domWrap);
+    drag = document.getElementById(domDrag);
+    let page = getPageLength(event);
+    mouseX = page.pageX - wrap.offsetLeft      //鼠标到拖拽元素的左边界的距离
+    mouseY = page.pageY - wrap.offsetTop       //鼠标到拖拽元素的上边界的距离
+    isDrag = true
+  },drag)
+  // windowEventHandler('mousemove',handleMove,document)
+  windowEventHandler('mousemove',(event)=>{      //移动的
+    let page = getPageLength(event);
+    if(isDrag){
+      dragX = page.pageX - mouseX          //鼠标可拖拽到左边的最大距离
+      dragY = page.pageY - mouseY          //鼠标可拖拽到上边的最大距离
+      if(dragX < 0){      //不能超出左边界
+        dragX = 0
+      }
+      if(dragY < 0){      //不能超出上边界
+        dragY = 0
+      }
+      if(width-dragX < wrap.offsetWidth){    //不能超出右边界
+        dragX = maxDragX
+      }
+      if(height-dragY < wrap.offsetHeight){     //不能超出下边界
+        dragY = maxDragY
+      }
+      isMove = true
+      wrap.style.left = dragX + 'px'
+      wrap.style.marginLeft = 0 + 'px'
+      wrap.style.top = dragY + 'px'
+    }
+  },document)
+  windowEventHandler('mouseup',(event)=>{
+    if(isMove){ //有move就设置位置没有移动就不处理
+      wrap.style.left = dragX + 'px'
+      wrap.style.top = dragY + 'px'
+    }
+    isDrag = false
+    return false
+  },document)
+}
+// function handleMove(event,mouseX){
+//     console.log(event)
+// }
 module.exports = {
     checkType: Type.checkType,
     regexp,