图片拖动及鼠标滚轮放大

2022-11-14  本文已影响0人  沫tiny

思路讲图片设置为背景图进行设置拖动和旋转
html部分


image.png

js部分

//图片拖动
move(e) {
      let odiv = e.target; //获取目标元素

      //算出鼠标相对元素的位置
      let disX = e.clientX - odiv.offsetLeft;
      let disY = e.clientY - odiv.offsetTop;
      document.onmousemove = e => {
        //鼠标按下并移动的事件
        //用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
        let left = e.clientX - disX;
        let top = e.clientY - disY;

        //绑定元素位置到positionX和positionY上面
        this.positionX = top;
        this.positionY = left;

        //移动当前元素
        odiv.style.left = left + "px";
        odiv.style.top = top + "px";
      };
      document.onmouseup = e => {
        document.onmousemove = null;
        document.onmouseup = null;
      };
    },
// 滚轮放大缩小
handleZoomImg(e) {
      this.isPreview = true;
      console.log("鼠标滚动了", e);
      e = e || window.event;

      // 火狐下没有wheelDelta,用detail代替,由于detail值的正负和wheelDelta相反,所以取反
      e.delta = e.wheelDelta || -e.detail;

      e.preventDefault();
      if (e.delta > 0) {
        //当滑轮向上滚动时
        this.scaleFunc(2);
      }
      if (e.delta < 0) {
        //当滑轮向下滚动时
        this.scaleFunc(-2);
      }
    }

css样式

.move-position {
  position: relative; /*定位*/
  top: 20px;
  left: 0px;
  z-index: 66;
}
上一篇下一篇

猜你喜欢

热点阅读