ホームページ  >  記事  >  ウェブフロントエンド  >  Vue.js では、画像を自由にドラッグする機能をどのように実現しているのでしょうか?

Vue.js では、画像を自由にドラッグする機能をどのように実現しているのでしょうか?

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-29 09:25:152319ブラウズ

今回は、Vue.jsで画像ドラッグ機能を自由に実装する方法を説明します。Vue.jsで画像ドラッグ機能を実装するための注意事項は何ですか?見てください。

メインコードは次のとおりです:

<template>
 <p id="test_3">
  <img src="../assets/img/photo.jpg" @mousedown="start" @mouseup="stop" @mousemove="move" :style="style">
 </p>
</template>
<script>
 export default{
  data:function(){
   return{
    canDrag: false,
    x0:0,
    y0:0,
    x1:0,
    y1:0,
    style:null
   }
  },
  methods:{
   start:function(e){
    //鼠标左键点击
    if(e.button==0){
     this.canDrag=true;
     //记录鼠标指针位置
     this.x0=e.clientX;
     this.y0=e.clientY;
    }
   },
   stop:function(e){
    this.canDrag=false;
   },
   move:function(){
    if(this.canDrag==true){
     this.x1=e.clientX;
     this.y1=e.clientX;
     let x=this.x1-this.x0;
     let y=this.y1-this.y0;
     let img=document.querySelector("#test_3 img");
     this.style=`left:${img.offsetLeft+x}px;top:${img.offsetTop+y}px`;
     this.x0=this.x1;
     this.y0=this.y1;
    }
   }
  }
 }
</script>

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

useVueのグローバルコンポーネントの登録方法

vue2.0axiosのクロスドメインとレンダリングの使用方法

以上がVue.js では、画像を自由にドラッグする機能をどのように実現しているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。