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フィールドのデフォルト値を設定する方法

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

推薦する

MySQL 外部キー (FOREIGN KEY) の使用例の詳細な説明

はじめに: すべてのデータを 1 つのテーブルに保存することのデメリット表の構成構造は複雑で不明瞭で...

Vue実装のカウンターケース

この記事では、カウンター表示を実現するためのVueの具体的なコードを例として紹介します。具体的な内容...

MySQL共通インデックスとユニークインデックスの詳細な説明

シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...

MySQL で最大接続数を設定するためのヒントのまとめ

方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...

divとspanの違いと使い方

目次1. DIVとSPANの違いと特徴2. スパンタグの概要3. 拡大と改善4. 凡例の効果の実証例...

Reactはグローバル箇条書きボックスメソッドをカプセル化します

この記事の例では、Reactカプセル化グローバルポップアップボックスの具体的なコードを参考までに共有...

ubuntu20.04 上の CLion2020.1.3 での ROS のインストールと設定の詳細な説明

1. CLionをダウンロード、インストール、アクティベートするオンラインで提供されるチュートリアル...

CSS 兄弟要素フローティング分析の概要

float:左/右/なし; 1. 同じレベルフローティング(1)ブロックレベル要素を同じ行に表示する...

HTML+CSS マージテーブル境界線サンプルコード

table タグと td タグに境界線を追加すると、デフォルトでは次のように二重境界線が使用されます...

スライドドアを実装するための CSS サンプルコード

いわゆるスライディングドアテクノロジーとは、さまざまな長さのテキストに合わせてボックスの背景を自動的...

VMware Workstation Pro でサーバー仮想マシンを構築する (グラフィック チュートリアル)

私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....

Nodejsはgitee実装コードに自動的に同期するドキュメント同期ツールを作成します

本来の意図このツールを作った理由は、コンピューターを使用しているときにいつでも毎日の仕事や生活を記録...

動的および静的分離を実装するための Nginx サンプル コード

この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェク...

カレンダーウィジェットのネイティブJS実装

この記事の例では、カレンダーウィジェットを実装するためのjsの具体的なコードを参考までに共有していま...

iviewは動的なフォームとカスタム検証期間の重複を実装します

フォーム項目を動的に追加するiview の動的なフォーム追加は非常に簡単です。フォーム項目を配列に設...