Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明

Vueイメージドラッグアンドドロップズームコンポーネントの具体的な使い方は参考までに。具体的な内容は次のとおりです。

<ドキュメント>
  画像コンポーネント - ユーザーはズームイン、ズームアウト、ドラッグします</doc>
<テンプレート>
  <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"
      スタイル="位置: 絶対;上: 2px;左: 2px;z-index: 999;"></el-button>
    <el-button size='mini' @click="toSmallChange" icon="el-icon-zoom-out"
      スタイル="位置: 絶対;上: 2px;左: 40px;z-index: 999;"></el-button>
    <img id="img" :src="src" alt="" @mousedown.prevent="dropImage" :style="{transform:'scale('+multiples+')'}">
  </div>
</テンプレート>
<スクリプト>
  エクスポートデフォルト{
    プロパティ: ['src'],
    データ() {
      戻る {
        倍数: 1,
        odiv: ヌル、
      }
    },
    マウント() {
      this.dropImage()
    },
    時計:
      src(新しい値、古い値) {
        this.multiples = 1
        if (this.odiv !== null) {
          this.odiv.style.left = '0px';
          this.odiv.style.top = '0px';
        }
      },
    },
    メソッド: {
      ビッグチェンジ() {
        (this.multiples >= 2)の場合{
          戻る;
        }
        this.multiples += 0.25;
      },
      //縮小toSmallChange() {
        (this.multiples <= 1)の場合{
          戻る;
        }
        this.multiples -= 0.25;
      },
      // ドラッグドロップイメージ(e) {
        e === nullの場合{
          戻る
        }
        this.odiv = e.target; // ターゲット要素を取得します // 要素に対するマウスの位置を計算します let disX = e.clientX - this.odiv.offsetLeft;
        disY = e.clientY - this.odiv.offsetTop とします。
        document.onmousemove = (e) => { // マウスが押されて移動されたイベント // 要素に対するマウスの位置をマウスの位置から減算して、要素の位置を取得します。let left = e.clientX - disX;
          top = e.clientY - disY とします。

          //要素の位置を positionX と positionY にバインドします。this.positionX = top;
          this.positionY = 左;

          //現在の要素を移動します this.odiv.style.left = left + 'px';
          this.odiv.style.top = top + 'px';
        };
        ドキュメント.onmouseup = (e) => {
          ドキュメント.onmousemove = null;
          ドキュメント.onmouseup = null;
        };
      },
    }
  }
</スクリプト>
<スタイルスコープ>
  画像 {
    幅: 100%;
    位置: 相対的;
  }
</スタイル> 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueコンポーネントを使用して画像のドラッグとズーム機能を実現する
  • Vue は画像プレビュー効果の例 (ズームイン、ズームアウト、ドラッグ) を実装します
  • Vueはズームイン、ズームアウト、ドラッグ機能を実装しています
  • Vue 画像のスケーリングの実装 - コンポーネントのドラッグ

<<:  MySQLフィールドのデフォルト値を設定する方法

>>:  ウェブページレイアウトデザインのシンプルな原則

推薦する

Dockerfileを使用して独自のイメージを作成する方法

1. 空のディレクトリを作成する $ cd /home/xm6f/dev $ mkdir myapp...

JQuery データグリッドクエリの詳細な説明

目次ツリー項目にコードを追加します。 1. 右側に関連情報ページを保存します(userManage....

Vueはシンプルな計算機能を実装します

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

MysqlチューニングExplainツールの詳細な説明と実践的な演習(推奨)

MySQL チューニング ツールの詳細な説明と実践的な演習の説明 ツールの紹介の説明 分析例の説明...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

nginx設定ファイルの解釈の詳細な説明

nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...

MySQLは現在の日付と時刻を取得する関数の例の詳細な説明

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

Centos サーバーに MySql をデプロイし、Navicat に接続するプロセスの詳細な説明

(1)サーバー構成: [root@localhost ~]# cd /usr/local/src/ ...

KTLツールはMySQLからMySQLへのデータの同期方法を実現します

ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...

MySQL 8.0.19 インストール詳細チュートリアル (Windows 64 ビット)

目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...

Vueはミックスインを使用してコンポーネントを最適化します

目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...

MySQL の同時実行性の問題と解決策の分析

目次1. 背景2. テーブルロックによるクエリの遅延3. オンラインでテーブル構造を変更するとどのよ...

JavaScript ドキュメント オブジェクト モデル DOM

目次1. JavaScriptはページ内のすべてのHTML要素を変更できる1. IDでHTML要素を...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

画像を表示したり非表示にしたりするための JavaScript

JavaScriptは画像を表示したり非表示にしたりしますが、参考までに具体的な内容は次のとおりで...