jQueryはマウスドラッグ画像機能を実装します

jQueryはマウスドラッグ画像機能を実装します

この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。

まず、ラッパーを設定します。ラッパー内の座標が画像の移動の座標となります。

 #ラッパー{
      幅: 1000ピクセル;
      高さ:1000ピクセル;
      位置:相対;
    }

ドラッグするdivである画像divを設定します

#div1{
      位置: 絶対;
      左:0px;
      上:0px;
      幅: 300ピクセル;
      高さ: 200px;
      背景: url("d:/Pictures/Earth.jpg");
      背景サイズ:contain;
    }

上記は、ラッパーの位置を相対的に設定し、div1 の位置を絶対的に設定しています。

次に、ドラッグ アルゴリズムを設計します。

考え方は次のとおりです。

1. マウスがクリックされたときにdivがマウスに追従するようにする

2. マウスを離したら追跡を停止する

まず、div の座標を現在のマウスの位置に変更する関数が必要です。

まず、現在のマウス座標と画像座標を保存するためのいくつかの変数を定義する必要があります。

  var タイマー;
      var マウスX = 0;
      var マウスY = 0;
      var pic_width = parseInt($("#div1").css("width")); 
      var pic_height = parseInt($("#div1").css("height"));

ここで、ラッパーにイベント リスナーを追加する必要があります。マウスがラッパー内で移動すると、変数 mousex と mousey の値が変更されます。

$("#wrapper").mousemove(function(e){
        マウスX = e.clientX;
        マウスY = e.clientY;
      });

フォロー関数を書いてタイマーで呼び出す

$("#div1").mousedown(関数(){
        タイマー=setInterval(follow,10);
      });
      $("#div1").mouseup(関数(){
        タイマーの間隔をクリアします。
      });
      var follow = 関数(){

        $("#div1").css("左",mouseX-pic_width/2);
        $("#div1").css("top",mouseY-pic_height/2);
      };

完全なコードは次のとおりです。

<!doctypehtml>
<html>
  <ヘッド>
    <スクリプト タイプ = "text/javascript" src = "jquery.js"></script>
    <スタイル タイプ = "text/css">
    #ラッパー{
      幅: 1000ピクセル;
      高さ:1000ピクセル;
      位置: 相対的;
      背景: 線形グラデーション(ライトブルー、ホワイト);
      フォントサイズ: 40px;
    }
    #div1{
      位置: 絶対;
      左:0px;
      上:0px;
      幅: 300ピクセル;
      高さ: 200px;
      背景: url("d:/Pictures/Earth.jpg");
      背景サイズ:contain;
    }
    </スタイル>
  </head>
  <本文>
    <div id = "ラッパー">
      正直に言うと、私は悲しんでいます。私はただ、愛と非難を表明し、私はただ、あなたが失ったことと、あなたが亡くなったことを悔い改めているだけです。
      <div id = "div1">

      </div>
    </div>
    
    
    <スクリプト>
      
      var タイマー;
      var マウスX = 0;
      var マウスY = 0;
      var pic_width = parseInt($("#div1").css("width")); 
      var pic_height = parseInt($("#div1").css("height")); 

      
      $("#wrapper").mousemove(function(e){
        マウスX = e.clientX;
        マウスY = e.clientY;
      });

      $("#div1").mousedown(関数(){
        タイマー=setInterval(follow,10);
      });
      $("#div1").mouseup(関数(){
        タイマーの間隔をクリアします。
      });
      var follow = 関数(){

        $("#div1").css("左",mouseX-pic_width/2);
        $("#div1").css("top",mouseY-pic_height/2);
      };
    </スクリプト>
  </本文>
</html>

最終結果:

jQuery を使用してマウスで画像をドラッグする方法についての記事はこれで終わりです。jQuery を使用してマウスで画像をドラッグする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • jQuery で実装されたマウス ドラッグ フローティング レイヤー機能の例 [div とその他のタグをドラッグ]
  • jQuery はマウスのドラッグによるテーブル列幅の調整を実装します
  • jQueryはマウスドラッグによるLiまたはTableのソートを実装します
  • マウスドラッグ画像効果を実現するjQueryのサンプルコード
  • JQueryはマウスドラッグ効果の実装原理とコードを記述します
  • jQuery に基づくマウス ドラッグ効果コード

<<:  Tomcat プロジェクトを展開する一般的な方法のいくつか [テスト済み]

>>:  MySQLの自己接続と結合の詳細な理解

推薦する

MYSQL での Truncate の使用法の詳細な説明

この記事のガイド: テーブル内のデータを削除するには、削除と切り捨ての 2 つの方法があります。TR...

Docker 入門インストールチュートリアル (初心者版)

ドクター紹介: Docker はコンテナ関連の技術です。簡単に言うと、さまざまなソフトウェアを実行で...

MySQLデータベースはMMM高可用性クラスタアーキテクチャを実装します

コンセプトMMM (Mysql のマスター マスター レプリケーション マネージャー) は、Perl...

8 JSのreduce使用例とreduce操作方法

reduceメソッドは配列の反復メソッドです。 mapやfilterとは異なり、 reduceメソッ...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...

JavaScript キャンバスでカラフルな太陽のハロー効果を実現

この記事では、カラフルな太陽のハロー効果を実現するためのJavaScriptキャンバスの具体的なコー...

Vueでデータを読み取るためにこれを悪用しないでください

目次序文1. これを使用してデータ内のデータを読み取るプロセス2. Dep.target はいつ存在...

Mysql GTID Mha 設定方法

Gtid + Mha + Binlog サーバー構成: 1: テスト環境OS: CentOS 6.5...

JavaScript オブジェクトを比較する 4 つの方法

目次序文参考比較手動比較浅い比較徹底比較要約する序文JavaScript でプリミティブ値を比較する...

クラスタrpmを使用してMySQLをインストールするための詳細な手順

MySQLデータベースをインストールするa) MySQL ソースインストールパッケージをダウンロード...

Vue3の状態管理の使用方法の詳細な説明

目次背景提供/注入共有状態の抽出データを提供するデータの挿入まとめ反応的な共有状態の抽出共有状態の使...

Linux でバックグラウンドで実行中のプログラムを表示して終了する方法

1. .shファイルを実行する./sh ファイルを使用して直接実行することもできますが、現在のターミ...

Win10+Ubuntu 20.04 LTS デュアル システム インストール (UEFI + GPT) (画像とテキスト、複数の画像には注意)

Win10 のインストール (すでにインストールされている場合はスキップしてください) win10...

Vue3はサイドナビゲーションテキストスケルトン効果コンポーネントをカプセル化します

Vue3プロジェクトのカプセル化サイドナビゲーションテキストスケルトン効果コンポーネント-グローバル...