最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue圖片拖拉轉放大縮小組件使用詳解

 更新時間:2021年10月27日 09:13:33   作者:秦浩鋮  
這篇文章主要為大家詳細介紹了vue圖片拖拉轉放大縮小組件的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

vue圖片拖拉轉放大縮小組件的具體使用方法,供大家參考,具體內容如下

<doc>
  圖片組件 - 用戶放大縮小以及拖拽
</doc>
<template>
  <div style="width: 100%;position: relative;overflow: hidden;text-align: center;border: 1px solid #f1f2f3;">
    <el-button size='mini' @click="toBIgChange" icon="el-icon-zoom-in"
      style="position: absolute;top: 2px ;left: 2px;z-index: 999;"></el-button>
    <el-button size='mini' @click="toSmallChange" icon="el-icon-zoom-out"
      style="position: absolute;top: 2px ;left: 40px;z-index: 999;"></el-button>
    <img id="img" :src="src" alt="" @mousedown.prevent="dropImage" :style="{transform:'scale('+multiples+')'}">
  </div>
</template>
<script>
  export default {
    props: ['src'],
    data() {
      return {
        multiples: 1,
        odiv: null,
      }
    },
    mounted() {
      this.dropImage()
    },
    watch: {
      src(newValue, oldValue) {
        this.multiples = 1
        if (this.odiv !== null) {
          this.odiv.style.left = '0px';
          this.odiv.style.top = '0px';
        }
      },
    },
    methods: {
      toBIgChange() {
        if (this.multiples >= 2) {
          return;
        }
        this.multiples += 0.25;
      },
      // 縮小
      toSmallChange() {
        if (this.multiples <= 1) {
          return;
        }
        this.multiples -= 0.25;
      },
      // 拖拽
      dropImage(e) {
        if (e === null) {
          return
        }
        this.odiv = e.target;        //獲取目標元素
        //算出鼠標相對元素的位置
        let disX = e.clientX - this.odiv.offsetLeft;
        let disY = e.clientY - this.odiv.offsetTop;
        document.onmousemove = (e) => {       //鼠標按下并移動的事件
          //用鼠標的位置減去鼠標相對元素的位置,得到元素的位置
          let left = e.clientX - disX;
          let top = e.clientY - disY;

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

          //移動當前元素
          this.odiv.style.left = left + 'px';
          this.odiv.style.top = top + 'px';
        };
        document.onmouseup = (e) => {
          document.onmousemove = null;
          document.onmouseup = null;
        };
      },
    }
  }
</script>
<style scoped>
  img {
    width: 100%;
    position: relative;
  }
</style>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue-rx的初步使用教程

    vue-rx的初步使用教程

    這篇文章主要介紹了vue-rx的初步使用教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 解決vue無法設置滾動位置的問題

    解決vue無法設置滾動位置的問題

    這篇文章主要介紹了解決vue無法設置滾動位置的問題 ,需要的朋友可以參考下
    2018-10-10
  • Vue過濾器與內置指令和自定義指令及組件使用詳解

    Vue過濾器與內置指令和自定義指令及組件使用詳解

    這篇文章主要介紹了Vue過濾器與內置指令和自定義指令及組件使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • Vite結合whistle實現(xiàn)一勞永逸開發(fā)環(huán)境代理方案

    Vite結合whistle實現(xiàn)一勞永逸開發(fā)環(huán)境代理方案

    這篇文章主要為大家介紹了Vite結合whistle實現(xiàn)一勞永逸開發(fā)環(huán)境代理方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決

    Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決

    本文主要介紹了Vue開發(fā)中出現(xiàn)Loading?Chunk?Failed的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • 關于vue-property-decorator的基礎使用實踐

    關于vue-property-decorator的基礎使用實踐

    這篇文章主要介紹了關于vue-property-decorator的基礎使用實踐,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue router解決路由帶參數(shù)跳轉時出現(xiàn)404問題

    vue router解決路由帶參數(shù)跳轉時出現(xiàn)404問題

    我的頁面是從一個vue頁面router跳轉到另一個vue頁面,并且利用windows.open() 瀏覽器重新創(chuàng)建一個頁簽,但是不知道為什么有時候可以有時候又不行,所以本文給大家介紹了vue router解決路由帶參數(shù)跳轉時出現(xiàn)404問題,需要的朋友可以參考下
    2024-03-03
  • vue前后端端口不一致的問題解決

    vue前后端端口不一致的問題解決

    本文主要介紹了vue前后端端口不一致的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-10-10
  • Vue中的偵聽器及使用場景

    Vue中的偵聽器及使用場景

    Vue中的偵聽器是一種響應式機制,可以對指定的數(shù)據(jù)進行監(jiān)聽,并在數(shù)據(jù)變化時執(zhí)行相應的回調函數(shù)。常用于監(jiān)聽復雜數(shù)據(jù)類型的變化,如對象和數(shù)組。通過偵聽器,可以實現(xiàn)數(shù)據(jù)的自動更新和邏輯處理等功能,提高代碼的可讀性和可維護性
    2023-05-05
  • Vue.js狀態(tài)管理之Pinia與Vuex詳解

    Vue.js狀態(tài)管理之Pinia與Vuex詳解

    Pinia和Vuex一樣都是是vue的全局狀態(tài)管理器,其實Pinia就是Vuex5,只不過為了尊重原作者的貢獻就沿用了名字Pinia,下面這篇文章主要給大家介紹了關于Vue.js狀態(tài)管理之Pinia與Vuex的相關資料,需要的朋友可以參考下
    2023-02-02

最新評論

宜丰县| 启东市| 广东省| 山阴县| 阿克陶县| 濮阳县| 丹寨县| 浪卡子县| 洮南市| 新源县| 沙坪坝区| 隆昌县| 三河市| 夏河县| 县级市| 巴中市| 北海市| 泌阳县| 茶陵县| 梓潼县| 正安县| 龙州县| 多伦县| 将乐县| 锡林郭勒盟| 大城县| 溆浦县| 民乐县| 合阳县| 乌兰察布市| 定结县| 大方县| 鄯善县| 博白县| 湟中县| 襄垣县| 江山市| 阳朔县| 娱乐| 绵阳市| 城口县|